コンストラクタのプロトタイプオブジェクトインスタンス

まず、コンストラクタ何の最初の単語:コンストラクタは:オブジェクトが作成されたときにオブジェクトを初期化するために使用されます。特長:大文字のための一般的なコンストラクタを、オブジェクトをインスタンス化するnew演算子を使用。例えば:

機能人(){} //人コンストラクタ
VARのP =新しい人(); //人コンストラクタオブジェクトを作成するために、それはまた、インスタンス呼び出すことができます

 

第二に、プロトタイプは何ですか?

プロトタイプ作成のプロセスにおけるコンストラクタは、システムが自動的に空のオブジェクトのうちに関連付けられたコンストラクタを作成します。これは、コンストラクタに.prototypeによってアクセスすることができます。例:プロセス中に被検体Pの例では、システムは自動的に、コンストラクタのプロトタイプを作成し、すなわちPerson.prototype注:.そのプロトタイプコンストラクタへの各点の__proto__プロパティ、属性プロトタイプオブジェクトのコンストラクタプロパティ、プロトタイプオブジェクトに対応する点コンストラクタ。

第三に、コンストラクタ、プロトタイプオブジェクト、3人の関係のオブジェクトインスタンス:

第四に、プロトタイプチェーン:プロトタイプチェーン:各オブジェクトは、独自のプロトタイプオブジェクトがあり、プロトタイプオブジェクトは、オブジェクト自体では、プロトタイプオブジェクトは、このようにプロトタイプチェーンと呼ばれる鎖構造を形成する、独自のプロトタイプオブジェクトを有しています。例:上記の例では、図プロトタイプ鎖構造次のオブジェクトp:Pオブジェクト-----> Person.prototype ------->のObject.prototype ---------> NULLオブジェクトのこのインスタンスのために、プロパティへのアクセスは、オブジェクト自体にオブジェクトを見つけるために、最初にすべてのでないならば、それは彼のプロトタイプオブジェクトを見つけるために行くだろう、プロトタイプチェーンは終わりを発見した、オブジェクトのプロパティを変更する場合、この場合オブジェクトの例は、このプロパティには、この属性は、このプロパティなしで追加され、変更されました。

V.継承:継承:JSは、いくつかの方法を継承しました。

1-ためで連続:

機能パーソン(){//親
     this.nameは "煮魚を" =;
     this.age = 18。
}
 
機能の息子(){//サブクラス
}
P =新しい人();
そこS =新ラスト();
{(P内のvar k)に対する
    S [K] = P [k]は、
}
console.log(s.name); //煮魚
console.log(s.age)。// 18

2.プロトタイプ継承:

機能ヒト(){
     this.nameは「スパイシーシュリンプ」を=。
     this.age = 21。
}
関数マン(){
}
Man.prototype =新しいヒト()。
ここで、m =新しい男性()。
console.log(m.name); //スパイシーシュリンプ
console.log(m.age)。// 21

 3.古典的な継承:(Object.create())

た動物= {
      名前:「亜美」
      タイプ:「猫」
}。
VAR A = Object.create(動物)// ES5属性
console.log(a.name); // Aマイク
console.log(a.type); //猫

 a.nameとa.ageが成功を訪問することができますのでものの、実はそれ自体は、これらの属性はありませんが、これらはのプロトタイプの属性; Object.create()が別のオブジェクト継承プロトタイプオブジェクトを作ることです。ルック:

 第六に、完全なプロトタイプチェーン:

 図は、いくつかの困難があります。1.Functionコンストラクタは、コンストラクタ関数コンストラクタは、彼が実現可能なアクセスへのオブジェクトインスタンス化役割として、自分自身であるため、proto__ Function.prototypeこれは.__機能によってアクセスすることができます。2.任意の関数は関数であり、彼は機能機能のすべての属性とメソッドを継承し、内蔵のコンストラクタは、オブジェクトは、オブジェクトのすべてのプロパティとメソッドを継承しています。githubのソースアドレスします。https://github.com/spicyboiledfish/JavaScript-testJS

おすすめ

転載: www.cnblogs.com/happyeveryuday/p/11840985.html