誰かが私にMe.prototype.constructor = Me;
の使用を説明することはできますか?また、このコードが動作していなくても、なぜ必要なのでしょうか?JSでプロトタイプコンストラクタを使用
コードプロトタイプオブジェクトはMeオブジェクト上に作成され、インスタンス化されて古いプロトタイプオブジェクトに置き換えられます。なぜ私は指定されたコードで私のコンストラクタを指す必要がありますか?
function Me(){
this.name = 'Dejan';
}
function You(){
this.name = 'Ivan';
}
Me.prototype = new You();
somebody = new Me();
Me.prototype.constructor = Me; // Why?
Me.prototype.foo = function(){
alert('Proto Me!'); // It always fire up this alert, ether constructor is pointing to Me or not... !
}
You.prototype.foo = function(){
alert('Proto You!');
}
somebody.foo();
alert(somebody.name); // Alert 'Dejan'
私は、レガシーブラウザが 'instanceof'キーワードの' .constructor'プロパティをチェックすると思います。 – Raynos
2006年からの本です。 –