javascript将对象设置为相等
这是我想要的工作方式,但是我有点困惑它为什么工作 我有两个目标。 将临时对象设置为对象A并操纵临时对象。 对象A受到影响 将临时对象设置为对象B(为什么三个对象现在不相等?) 我操纵临时对象。 对象A不受影响javascript将对象设置为相等,javascript,Javascript,这是我想要的工作方式,但是我有点困惑它为什么工作 我有两个目标。 将临时对象设置为对象A并操纵临时对象。 对象A受到影响 将临时对象设置为对象B(为什么三个对象现在不相等?) 我操纵临时对象。 对象A不受影响 var tempObject={}; var objectA={A:1}; var objectB={A:3}; $(文档).ready(函数(){ tempObject=objectA; 添加(临时对象); console.log(objectA); tempObject=object
var tempObject={};
var objectA={A:1};
var objectB={A:3};
$(文档).ready(函数(){
tempObject=objectA;
添加(临时对象);
console.log(objectA);
tempObject=objectB;
添加(临时对象);
console.log(objectA);
功能添加(arr){
阵列A+=1;
}
});代码>
当您将tempObject
设置为objectB
时,它不再是对objectA
的引用,而是指objectB
。因此,当您对tempObject
进行更改时,objectA
不受影响,但objectB
受影响。在JavaScript中处理对象时,总是通过引用。它有点类似于C/C++中的指针
当您将tempObject
设置为objectA
时,基本上是说“tempObject现在指向与objectA相同的对象”。所以,如果你改变了一个属性,你就改变了两个属性
然后将tempObject
设置为objectB
,表示“tempObject现在指向与objectB相同的对象”。您不会使用此选项更改任何对象,只会更改对象tempObject
指向的对象