オンラインソースからプロトタイプの継承について説明するこの修正されたビットのコードがあります。Javascriptでのプロトタイプ継承の使用
var myObj = function() {}; // start w a regular func
myObj.prototype.a = 1; // attach properties to property
myObj.prototype.b = 2;
console.log('myObj dir a is: ' + myObj.a); // undefined
var myRealObj = new myObj();
console.log('my real obj a is: ' + myRealObj.a); // works
私の混乱のビットは、aが未定義の最初のログステートメントです。関数の上のプロトタイプチェーン内にあってもチェーンを歩かないといけませんか?オブジェクトを作成するためにnewを使用すると、なぜ動作しますか?
ありがとうございます!
ですが期待していますか?彼らはそうではありません。プロトタイプは、コンストラクタ関数ではなく、インスタンスではこのように機能します。 – Xufox
コンストラクタの '.prototype'プロパティとプロトタイプチェーンを混同しないでください。 – Bergi