将值存储在两个变量中并更改一个变量会影响Javascript中的两个变量

时间:2015-11-01 08:48:45

标签: javascript

我有一个对象“a”并希望将其复制到“b”  当我删除“a”中的元素时,为什么“b”也受到影响?

var a  = {'apple':1,'orange':2,'grapes':3}
var b = a 

console.log(a,b)
delete b.apple
console.log(a,b)

现在a和b是一样的。我只希望删除b中的元素。 我怎么能这样做

1 个答案:

答案 0 :(得分:0)

javascript中的对象和数组是引用。所以当你这样做时:

var b = a;

你正在制作另一个指向对象a的指针。你没有复制a

如果您想制作一个对象的副本,可以使用Object.create

var b = Object.create(a);