javascript 变量赋值为数组是引用传递的坑

记录今天处理了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];
说明这是一个引用传递了。铭记~code

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

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

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

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

这样的方式赞成会遭遇坑,切记~di

相关文章
相关标签/搜索