我有嵌套对象和原型设计的问题。在以下示例中,我正在创建对象“o”的 2 个实例
var o = function(){};
o.prototype = {
val : 1,
test : {
val2 : 1
}
};
var t1 = new o();
var t2 = new o();
t1.val = 5;
t2.val = 20;
t1.test.val2 = 5;
t2.test.val2 = 10;
console.log(t1.val) //5
console.log(t2.val) //20
console.log(t1.test.val2) //10
console.log(t2.test.val2) //10
我的问题是为什么 t1.test.val2 === t2.test.val2,其中 t1 和 t2 是不同的变量,它们不应该完全分开吗?
如何修复该代码以将所有对象和变量分开?