的代码如下:javascript函数这和原型
function A() {
this.name = "kl";
this.obj2 = { a: 1 };
}
A.prototype.city = "china";
A.prototype.obj = {age: 30};
var a = new A();
var b = new A();
a.name = "kobe";
a.obj.age = 20;
a.city = "American"
a.obj2.a = 30;
console.log(b.name); // k1
console.log(b.city); // why china ?
console.log(b.obj); // when b.city = china, why b.obj = {age: 20}
console.log(b.obj2); // {a: 1}
我的看法是,A和B都有自己的这一点,所以你如何修改这个[属性]你不能改变自己的this.value;
property declare so share property?是对的 ? 但是当obj是变化时会影响b.obj, 当城市变化不会影响b.city?
这是很少,你将要使用的原型机制,分享价值的情况下在实例中。它会导致难以理解的行为,比如你发现的行为。将原型视为**方法**在实例间共享的存储库是比较安全的。 – 2016-12-16 04:43:21