javascript - 關於js引用型別在chorme下遇到的問題
过去多啦不再A梦
过去多啦不再A梦 2017-05-19 10:44:03
0
2
853

關於引用型,值的賦值只是堆記憶體的複製,就是多個變數指向同一個堆記憶體。但在chrome下,我測試的時候,遇到那麼一個狀況,希望大神們可以給我一個解答

在下圖

  1. 我建了一個變數a,賦值了一個空物件給它

  2. 變數a賦值給變數b

  3. a追加一個屬性name

  4. a註銷

##根據引用類型的使用,在a被註銷的時候,物件應該被不存在了,但b依舊存在著這個引用。我的疑問就是這個,b輸出的結果不應該是null也對嗎?

#
过去多啦不再A梦
过去多啦不再A梦

全部回覆(2)
小葫芦

舉個例子:
a = {}; 假如{} 在內存裡的名字為0x2334c;
b = a; 實際執行的是b = 0x2334c;
a = null; 執行的是給a標記,等待銷毀;
但b 還在引用0x2334c ,所以0x2334c被沒有被銷毀;
除非b和a = null;

滿天的星座

a,b都指向同一塊位址c,將a=null,只是讓a不再指向c,並不是將c的資料銷毀,然而b還是指向c,沒毛病

熱門教學
更多>
最新下載
更多>
網站特效
網站源碼
網站素材
前端模板