爲什麼當我在JavaScript中實例化一個新的對象作爲其屬性之一時,它總是引用同一個對象?實例化一個新的對象引用相同的屬性
例如
function test() {}
test.prototype.state = {
num: 0
};
var obj1 = new test();
var obj2 = new test();
obj1.state.num = 1;
console.log(obj1.state.num,obj2.state.num); // Outputs 1 1 instead of 1 0
而且,什麼是適當的方法,使創建新的對象屬性每次被實例化的時間?
這就是原型的用途。如果它不是在原型中,而是在構造函數本身中作爲私有變量,那麼每次實例化對象時都會得到不同的結果 – Redu