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

相關文章
相關標籤/搜索