Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/396.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_Object - Fatal编程技术网

停止在javascript中更新原始对象引用

停止在javascript中更新原始对象引用,javascript,object,Javascript,Object,我有一个对象包含一些公司名称。当我在var m中进行更改时,它是var j的副本,然后var j也在更新。我们如何防止这种情况 var j= {'a':'tata','b':'suzuki'} var m= j m.a='bmw' console.log(m) console.log(j) 使用删除运算符。请参考@abhitalks,除此之外的任何答案!!这种复制对象的方法对日期等类型的复制效果不太好。最好使用.extend或$.extend(如clone=$.extend({},j))或对象

我有一个对象包含一些公司名称。当我在
var m
中进行更改时,它是
var j
的副本,然后
var j
也在更新。我们如何防止这种情况

var j= {'a':'tata','b':'suzuki'}
var m= j
m.a='bmw'
console.log(m)
console.log(j)

使用删除运算符。请参考@abhitalks,除此之外的任何答案!!这种复制对象的方法对日期等类型的复制效果不太好。最好使用
.extend
$.extend
(如
clone=$.extend({},j)
)或
对象.assign
,尽管这会给你一个浅拷贝。@RobG同意你的看法
var j= {'a':'tata','b':'suzuki'}
var clone = JSON.parse(JSON.stringify(j)); // or var clone = jQuery.extend({}, j);
//m.a='bmw'
clone.a = 'jaguar';
console.log(clone);
console.log(j);