这是由于变量2是变量1的引用导致的。为了避免这个问题,我们可以通过复制变量1的值来创建变量2,而不是将变量2直接赋值给变量1。
示例:
var var1 = {a: 1, b: 2};
var var2 = Object.assign({}, var1); // 使用 Object.assign() 创建 var2 的一个新副本,避免引用 var1
console.log(var1); // {a: 1, b: 2}
console.log(var2); // {a: 1, b: 2}
var1.a = 3;
console.log(var1); // {a: 3, b: 2}
console.log(var2); // {a: 1, b: 2}(var2 未被改变)