停止在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);