Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/381.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,我正在学习JavaScript,注意到当一个变量被分配给另一个变量时,它不会复制它的内容,而是成为同一个变量的扩展。例如: var data1 = {"name": "john", "age": 34, "city": "london"} var data2 = data1 delete data2.city console.log(data1) {"name": "john", "age": 34} 上述代码不仅将从data2中删除city属性,还将从data1中删除该属性 如何仅将内

我正在学习JavaScript,注意到当一个变量被分配给另一个变量时,它不会复制它的内容,而是成为同一个变量的扩展。例如:

var data1 = {"name": "john", "age": 34, "city": "london"}

var data2 = data1

delete data2.city

console.log(data1)
{"name": "john", "age": 34}
上述代码不仅将从
data2
中删除
city
属性,还将从
data1
中删除该属性


如何仅将内容从
data1
复制到
data2
,并在不干扰
data1
的情况下对其进行更改

变量指向同一对象

var data2 = Object.assign({}, data1)

变量指向同一个对象

var data2 = Object.assign({}, data1)

仅供参考,你不是在“继承”,你是在分配。仅供参考,你不是在“继承”,你是在分配。