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

前天,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
    原文地址: https://segmentfault.com/a/1190000000496674
    本文转自网络文章,转载此文章仅为分享知识,如有侵权,请联系博主进行删除。
点赞