Javascriptノート-プロトタイプ、プロトタイプ、プロトタイプ、チェーン

2244 ワード

Javascriptノート-プロトタイプ、プロトタイプ、プロトタイプ、チェーン
javascriptでは、関数ごとに属性を初期化します. (prototype)、この関数のある属性にアクセスする必要がある時、プロトタイプにこの属性を探しに行きます.この属性が見つからないと、プロトタイプにも自分のプロトタイプがあります.
プロトタイプ自体もオブジェクトであり、内部には (_proto_)が存在する.
  • (_constructor_):継承対象を指すプロトタイプ属性
  • :自分自身を指す
  • プロトタイプチェーンの特徴:Javascriptの対象はすべて引用によって伝達されています.私たちは新しいオブジェクトを作る時、対象自身のプロトタイプのコピーは一つもなく、すべて絶えず上に継承されています.オブジェクトの属性を使うと、モデルチェーンを通してどんどん上を探します.朔を内蔵のObjectオブジェクトに追っかけても見つからない場合は、undefinedに戻ります.
    コードの例:
    //       ( )
    function fn() { };
    
    //          
    var fn1 = new fn();
    
    console.log(fn1.__proto__ === fn.prototype); //    trueconsole.log(fn.__proto__ === Function.prototype); //    trueFunction      
    
    console.log(fn.prototype.__proto__ === Object.prototype); //    trueprototype          
    console.log(fn.prototype.__constructor__ === fn()); //    true,