1つのJSのプロトタイプチェーンは、トピックの周りに開いていません。直接対話に。
/ * * *プロトタイプチェーン内の1 JSはどのようにのようなものでしょうか?別のクラスのプロトタイプチェーン付きとクラスなし。 * / のConst UTIL =必要とする( 'utilの' ); 関数A(){ console.info( "I AM A" ); } 関数B(){ console.info( "I AM B" ); } 関数C() { console.info( "I AM C" ); } util.inherits(B、A); util.inherits(C、B); クラス{CAの コンストラクタ(){ console.info( "私はCA AM" ); } DOCA(){ console.info( "DOCA" } } クラスCBはCA {延び コンストラクタ(){ スーパー()。 console.info( "私はCBです" ); } doCB(){ console.info( "やるCB" )。 } } クラスCCはCB {延び コンストラクタ(){ スーパー()。 console.info( "私はCC" ); } doCC(){ console.info( "私はdoCC午前" )。 } } // 原型链继承如下: VARの C = 新しいC(); (C .__ proto__ console.info === C.prototype)。 console.info(C .__プロト__.__ proto__ === B.prototype)。 console.info(C .__プロト__.__プロト__.__ proto__ === A.prototype)。 console.info(C .__プロト__.__プロト__.__プロト__.__ proto__ === のObject.prototype)。 console.info(C .__プロト__.__プロト__.__プロト__.__プロト__.__ proto__ === NULL )。 // クラス のvar CC = 新しいCC(); console.info(CC .__ proto__ === CC.prototype)。 console.info(CC .__プロト__.__ proto__ === CB.prototype)。 console.info(CC .__プロト__.__プロト__.__ proto__ === CA.prototype)。 console.info(CC .__プロト__.__プロト__.__プロト__.__ proto__ === のObject.prototype); console.info(CC .__プロト__.__プロト__.__プロト__.__プロト__.__ proto__ === NULL ); // 以下のクラス階層であります。クラスおよび非クラスが異なる console.info( "クラス階層" ); console.info(C.prototype.constructor === C); // 構成C =自体のプロトタイプ console.info(C .__ proto__ = Function.prototype ==); // __proto__プロトタイプ点関数のすべてのクラス、プロトタイプの即ち主要構成。 console.info(機能.__ proto__ === Function.prototype); // console.info( "クラスを持つクラスの継承関係" ); console.info(CC .__ proto__ === CB); //クラスのポイントとCCの__proto__、CB、最終的には最重要指名手配関数のプロトタイプ。 console.info(CC .__プロト__.__ proto__ === CA); console.info(CA .__ proto__ === Function.prototype)。
プロトタイプチェーンは、次の点に留意してくださいします:
1.すべてのものは、__proto__を持っています
2.プロトタイププロトタイプクラス=クラス。プロトタイプクラス=クラスを構築します。
__proto__の前記小さなCプロトタイププロトタイプ= C、__protoのC __ = Bとプロトタイププロトタイプ、プロトタイプ__proto__のB =プロトタイプのプロトタイプA = __proto__オブジェクトおよびオブジェクトのプロトタイプ_ _proto__ = NULL;これはプロトタイプチェーンである、それは非常に簡単です。
4.継承クラス、__proto__ = CB、__proto__ =関数プロトタイプに__proto__ = CA、CAのCBのCC。
Util.inherits __proto__プロトタイプに等しい相続、C、B、A、機能機能を使用。
限りもっと練習、心の中のすべての上記のように、一つはプロトタイプチェーンを把握することができます。
:あなたは上記を読んでいない場合は、を参照することができhttps://blog.csdn.net/m0_37589327/article/details/78655038