Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/374.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/6/opengl/4.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
javascript将对象设置为相等_Javascript - Fatal编程技术网

javascript将对象设置为相等

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

这是我想要的工作方式,但是我有点困惑它为什么工作

我有两个目标。 将临时对象设置为对象A并操纵临时对象。 对象A受到影响

将临时对象设置为对象B(为什么三个对象现在不相等?) 我操纵临时对象。 对象A不受影响

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
指向的对象