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

Storing value in two variables and changing one affects both variables in Javascript

本文关键字:变量 两个 一个 影响 Javascript 存储      更新时间:2023-09-26

我有一个对象"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中的元素。如何进行

javascript中的对象和数组是引用。所以当你这样做的时候:
var b = a;

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

如果你想复制一个对象,你可以使用Object.create:

var b = Object.create(a);