javascript変数の割当値は配列であり、参照伝達の坑である.


記録は今日2時間のバグを処理しました.コードは以下の通りです.
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;
このような方式で同意すると穴があいます.覚えておいてください.