1. 程式人生 > >javascript中等號賦值究竟是複製還是在等號兩邊建立了聯絡

javascript中等號賦值究竟是複製還是在等號兩邊建立了聯絡

寫練習時出現了某個小問題,檢查後發現一種有意思的現象。

var a=[1,2];
var b=a;
b[1]=1;
console.log(a[1]);//結果是1
這說明陣列間的等號賦值不只是複製了一邊陣列那麼簡單,改變b時a也相應的被改變,a和b應該指向相同的陣列物件

測試之後發現物件用等號賦值之後也有著同樣的關係,但是字串和數字沒有這種聯絡,等號就是簡單的複製。

這讓我想到了jquery中的元素選擇器所選擇的元素,用等號賦值之後也建立了這種聯絡。

以後應該避免這種聯絡造成意料之外的結果,但是也能對這種聯絡加以利用。