如何解决Javascript中的对象属性值行为?

内容来源于 Stack Overflow,并遵循CC BY-SA 3.0许可协议进行翻译与使用

  • 回答 (2)
  • 关注 (0)
  • 查看 (111)

在下面的代码中,objA.foo值如何设置为'bar'?,JS中的哪个概念或功能将objA属性的值设置为'bar'?

var objA = Object.create({
    foo: 'foo'
});
var objB = objA;
objB.foo = 'bar';
console.log(objA.foo);
console.log(objB.foo);
提问于
用户回答回答于

这样试试:

var objA = Object.create({
    foo: 'foo'
});
var objB = JSON.parse(JSON.stringify(objA));
objB.foo = 'bar';
console.log(objA.foo);
console.log(objB.foo);
用户回答回答于

var objB = objA;

实际上是在创建一个引用objA,如果想在没有引用的情况下复制对象,可以使用扩展语法:

var objB = {...objA};

扫码关注云+社区

领取腾讯云代金券