0
我很難理解這一點,甚至在互聯網上摸索。這裏是我在javscript中的代碼片段:Javascript原型繼承對象在對象中
TEST=function(){};
TEST.prototype={
b:{
b1:"",
b2:{}
}
};
//Instance 1
var first=new TEST();
first.b.b1="TEXT";
//Instance 2
var second=new TEST();
console.log("Result",second.b.b1);
控制檯日誌將輸出「TEXT」,我想要「」。所以我想知道爲什麼我會得到這個結果,以及爲什麼當創建一個新實例並設置值時,它會更改「TEST」原型(這是我的主要問題)?
我得到了Bergi和Mykola(謝謝)的幫助和一份重複。但是我仍然認爲我通過這種行爲失去了一種資源,並想知道爲什麼要這樣做?在實例上工作時不需要更新原型。
非常感謝,我會重建我的構造函數。但我無法理解爲什麼first.b.b1和first.__ proto __.b.b1和window.TEST.prototype.b.b1是相同的邏輯? – Oddis
@Oddis因爲只有一個對象,'TEST.prototype.b'和'first.b'和'second.b'都指向它 – Bergi
感謝Bergi和Mykola,我接受這個。但我認爲我通過這種行爲失去了一種資源。再次感謝。 – Oddis