我的javascript代码是这样的:
var data= {product_id: 4, name: 'nike'}
console.log(data)
var dataNew = data
dataNew.id = 1
console.log(dataNew)
演示是这样的: https://jsfiddle.net/oscar11/69dw8dv1/
我像那样在对象中附加值
控制台.log(数据(和控制台.log(数据新(的结果是否存在 id
我想要变量数据没有id
所以只有变量数据新有 id
我该怎么做?
在 JavaScript 中,除非对象是原始数据类型,否则将分配对象引用而不是对象值。
这就是为什么当你这样做时,dataNew
和data
引用同一个对象:
var dataNew = data;
为了防止这种情况,您需要创建如下所示的data
副本:
var dataNew = Object.assign({}, data);
现在,dataNew
的变化不会影响data
。