採取低於給定的代碼,並將其與後它的代碼比較:JavaScript中的對象爲什麼不能成爲其本身的原型?
var protoShoe = {isShoe:true, isGenderSpecific: false}
protoShoe = Object.create(protoShoe);
protoShoe.isGenderSpecific= true; protoShoe.gender = "mens";
protoShoe = Object.create(protoShoe);
protoShoe.isGenderSpecific= false; protoShoe.gender = "na";
console.log("Is protoShoe prototype of protoShoe:" + protoShoe.isPrototypeOf(protoShoe));
console.log(protoShoe);
VS
var protoShoe = {isShoe:true, isGenderSpecific: false}
mensShoe = Object.create(protoShoe);
mensShoe.isGenderSpecific= true; mensShoe.gender = "mens";
protoShoe = Object.create(mensShoe);
protoShoe.isGenderSpecific= false; protoShoe.gender = "na";
console.log("Is mensShoe prototype of protoShoe:" + mensShoe.isPrototypeOf(protoShoe));
console.log(protoShoe);
的最終目標似乎是非常類似於它的繼承性,但在第一種情況下,其中我們只是不斷重複使用protoShoe
對象,最後它不是它自己的原型,爲什麼會這樣呢?如果它會導致任何問題?
我只是試圖更好地理解原型繼承,這只是一個愚蠢的實驗,但我發現第一個有趣的值isPrototypeOf
。
這是一個Javascript相關問題? – connexo