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
    本文转自网络文章,转载此文章仅为分享知识,如有侵权,请联系博主进行删除。
点赞