记录今天处理了2小时的BUG,代码如下:

var a ={
    id:[1,2,3]
}

var d = a.id;
d.push(4);

console.dir(a);

我以为预期是:a.id = [1,2,3],结果却是 a.id = [1,2,3,4];
说明这是一个引用传递了。铭记~

前天,5月19号,又遇到一个坑,原以为:数组引用是一坑,暂时用:

var a = [1,2,3];
var b = a.slice();
b[2] = 1110;

这样的方式解决了,可是当引用内好有引用时:

var a = [{id:1}];
var b = a.slice();
b[0].id = 2;

这样的方式同意会遭遇坑,切记~


Anleb
279 声望10 粉丝

专注于思科技术,并且热爱编程