原型与字面变量的理解
我的小伙伴传给我一段代码,让我猜猜结果是啥?
var A =function () {
};
var B={
x:1,
y:{
z:2
}
}
A.prototype=B;
var aa=new A();
console.log(B);
aa.y.z=3;
aa.x=2;
console.log(B.x);
console.log(aa);
console.log(B.y.z);
我的答案:1 2
结果现实打败了我
苦思好久都没搞懂
然后终于在《javascript 编程全解》上找到了答案
新建对象是的内部机制为
aa={};
aa._proto_=A.prototype;
A.call(aa);
这是我自己对这段代码画的图
也不知道对不对,留着遇到大神再请教