【发布时间】:2017-12-01 23:47:35
【问题描述】:
有两段代码:
var obj1 = {name:'one'};
obj2 = Object.create(obj1);
obj2.name = 'two';
console.log(obj1.name); //one
var obj1 = {prop:{name:'one'}};
obj2 = Object.create(obj1);
obj2.prop.name = 'two';
console.log(obj1.prop.name); //two
为什么第 2 条的输出是 2?
【问题讨论】:
-
您刚刚将
obj1设置为obj2的原型,这就是原因! -
obj2.prop 解析为原型。所以设置它的名字来编辑它。