次のコードがあります。
var A = function() {};
var a = new A();
var b = new A();
A.prototype.member1 = 10;
A.prototype = {}
var c = new A();
console.log(a.member1);
console.log(a.constructor === b.constructor);
console.log(a.constructor === c.constructor);
console.log('---------');
console.log(c.member1);
出力は次のとおりです。
10
true
false
---------
undefined
undefined
とのプロトタイプは変更されておらず、新しいものをa持っていました。これは が に等しくなく、それぞれが独自の を持っていたという事実によって引き起こされたというのは正しいですか? 2 つのオブジェクトのコンストラクターが等しくない可能性がある他の循環はありますか?bca.constructorc.constructorprototype
追加の質問: なぜ 2 つの文字列が印刷されたのundefinedですか? (クロム)