JavaScript面接試験問題まとめシリーズ(四)
3398 ワード
4.JavaScriptプロトタイプとプロトタイプチェーン
4.1概念紹介原型と原型の対象原型も対象で、原型の対象となります.だから、原型と原型の対象は同じです.簡潔で、フルネームという人がいます. プロトタイプチェーンプロトタイプ(プロトタイプオブジェクト)、構造関数および(オブジェクト)例はプロトタイプチェーンを構成している.プロトタイプチェーンの核心は依存対象の コンストラクタの最初の文字の大文字の関数です. オブジェクト例オブジェクトには、2つの種類がある. 関数オブジェクト: 一般オブジェクト:関数オブジェクト以外のすべてのオブジェクト. 4.2概念間の関係各関数には一つの 各々のJavaScriptオブジェクト(nullを除く)は一つの属性を持ち、 の各プロトタイプは、 4.3例構築関数を使用してオブジェクトを作成します. prototypeは各関数に プロト constructor 4.4まとめ
プロトタイプとプロトタイプチェーンを理解する前提は、この中に全部でいくつの概念があり、概念と概念の関係があるかを明らかにすることです.
この中の関連概念は、プロトタイプ、プロトタイプ、コンストラクション、オブジェクト(例)、プロトタイプ、プロト、コントラクターです.
彼らの関係はどうですか?まず、大文字の先頭の関数を作成すると、この関数は構造関数です. 私たちは プロトタイプとプロトタイプオブジェクトは、構造関数 プロトタイプおよびプロトタイプオブジェクトにも 各オブジェクトはプロト属性がプロトタイプのオブジェクトを指しています.このプロトタイプのオブジェクトは自分のプロトタイプもあります.これを類推してプロトタイプのチェーンが形成されました.特定の属性を検索する時、まずこの対象の中を探してみます.もし見つけられなかったら、その原型の対象の中に探しに行きます.もしまだないなら、原型の対象の原型の対象の中を探しに行きます.この操作はプロトタイプチェーン全体に委託されています.つまりプロトタイプチェーンです. 参照リンク:
https://www.jianshu.com/p/be7c95714586
https://blog.csdn.net/xiaotao_css/articale/detail/72782416
https://blog.csdn.net/shuixiou1/article/details/81048816
https://www.cnblogs.com/zhengyeye/p/8986836.html
https://blog.csdn.net/m0_37585915/articale/detail/80843945
https://www.jianshu.com/p/08c07a953fa0
https://developer.mozilla.org/zh-CN/docs/Web/JavaScript/Inheritance_and_the_プロトタイプchain
https://blog.csdn.net/lyt_angglarjs/articale/detail/100729591
https://www.cnblogs.com/jianghao233/p/8983176.html
https://blog.csdn.net/m0_37585915/articale/detail/80843945
https://zhuanlan.zhihu.com/p/23090041?refer=study-fe
https://www.jianshu.com/p/dee9f8b14771
https://www.cnblogs.com/libin-1/p/5820550.html
https://blog.csdn.net/yucihent/article/details/79424506
https://zhuanlan.zhihu.com/p/22787302
4.1概念紹介
__proto__
に向けられており、依存対象自体が存在しない属性を検索すると、作成対象の構築関数を一層上に検索し、Object
をずっと探しているので、__proto__
の指向はない. function Person() {
}
new Function();
によって作成されたオブジェクト.prototype
属性があります.__proto__
と呼ばれ、この属性はそのオブジェクトのプロトタイプを指す(prototype
).constructor
属性が関連する構造関数を指しています.function Person() {
}
var person = new Person();
person.name = "Kevin";
console.log(person.name); // "Kevin"
Personは構造関数であり、new
を用いて例示的なオブジェクトpersonを作成した. prototype
属性があります. 各JavaScriptオブジェクト(null
を除く)は、作成時に別のオブジェクトに関連しています.このオブジェクトは私たちが話しているプロトタイプです.どのオブジェクトもプロトタイプから属性を継承します. function Person() {
}
// :prototype
// __proto__
Person.prototype.name = "Kevin";
var person1 = new Person();
var person2 = new Person();
console.log(person1.name); // "Kevin"
console.log(person2.name); // "Kevin"
function Person() {
}
var person = new Person();
console.log( person.__proto__ === Person.prototype ); // true
function Person() {
}
console.log( Person === Person.prototype.constructor ); // true
プロトタイプとプロトタイプチェーンを理解する前提は、この中に全部でいくつの概念があり、概念と概念の関係があるかを明らかにすることです.
この中の関連概念は、プロトタイプ、プロトタイプ、コンストラクション、オブジェクト(例)、プロトタイプ、プロト、コントラクターです.
彼らの関係はどうですか?
new
のこのコンストラクタの実例となるオブジェクトの場合、この例は私たちが言っているオブジェクト(例)であり、プロト属性を持っています.new
に基づいて出てくるオブジェクト、すなわち関数オブジェクトに基づいて存在し、prototype
属性を有している.contructor
属性(またはポインタ)があり、関連するコンストラクタを指す.https://www.jianshu.com/p/be7c95714586
https://blog.csdn.net/xiaotao_css/articale/detail/72782416
https://blog.csdn.net/shuixiou1/article/details/81048816
https://www.cnblogs.com/zhengyeye/p/8986836.html
https://blog.csdn.net/m0_37585915/articale/detail/80843945
https://www.jianshu.com/p/08c07a953fa0
https://developer.mozilla.org/zh-CN/docs/Web/JavaScript/Inheritance_and_the_プロトタイプchain
https://blog.csdn.net/lyt_angglarjs/articale/detail/100729591
https://www.cnblogs.com/jianghao233/p/8983176.html
https://blog.csdn.net/m0_37585915/articale/detail/80843945
https://zhuanlan.zhihu.com/p/23090041?refer=study-fe
https://www.jianshu.com/p/dee9f8b14771
https://www.cnblogs.com/libin-1/p/5820550.html
https://blog.csdn.net/yucihent/article/details/79424506
https://zhuanlan.zhihu.com/p/22787302