赞
踩
JavaScript 中对象或数组的赋值是默认引用赋值的,使得改变对象时,原对象跟着改变,
如果你想要复制赋值,则必须要重新分配对象,使用如下代码即可避免此问题:
1、对象 Object.assign({}, object)
let a = {'name': 'lily'};
var b = Object.assign({}, a);
b.name = 'lisa';
console.log(a.name);
a.name 的值不再发生变化
2、数组 array.slice()
var a = ['qqq','www','eee'];
var b = a.slice();
b.push('rrr');
console.log(a);
3、使用...赋值新变量,对象和数组都可用
let a = {'name': 'lily'};
var b = {...a};
b.name = 'lisa';
console.log(a,b);
var aa = ['qqq','www','eee'];
var bb = [...aa];
bb.push('rrr');
console.log(aa,bb);
赞
踩
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。