關於引用型,值的賦值只是堆記憶體的複製,就是多個變數指向同一個堆記憶體。但在chrome下,我測試的時候,遇到那麼一個狀況,希望大神們可以給我一個解答
在下圖
我建了一個變數a,賦值了一個空物件給它
變數a賦值給變數b
a追加一個屬性name
a註銷
##根據引用類型的使用,在a被註銷的時候,物件應該被不存在了,但b依舊存在著這個引用。我的疑問就是這個,b輸出的結果不應該是null也對嗎?
高洛峰2017-05-19 10:46:03
舉個例子:
a = {}; 假如{} 在內存裡的名字為0x2334c;
b = a; 實際執行的是b = 0x2334c;
a = null; 執行的是給a標記,等待銷毀;
但b 還在引用0x2334c ,所以0x2334c被沒有被銷毀;
除非b和a = null;