[姆咪] 這裡有人懂js的垃圾回收機制嗎

看板Marginalman作者 (謹言慎行 不引戰 拼論文)時間6年前 (2019/04/13 20:49), 編輯推噓0(3319)
留言25則, 10人參與, 6年前最新討論串1/1
雖然我覺得我應該是這裡寫過最多行這糞語言的人了= = 但還是問一下 比方說,底下這個obj變數什麼時候會被收集掉? let obj = { a: 1 }; function foo(o) { return () => { console.log(o.a); }; } let bar = foo(obj); bar(); // 這行應該印出 "1" obj = null; // 這裡應該還沒被收集,因為它還被bar引用著 bar(); // 仍然可以印出 "1" bar = null; 問題來了!!! 請問,上面的最後一行會把obj的記憶體釋放掉嗎? 理論上,從那行之後,我應該不再可能使用那個變數了 但垃圾蒐集機制有辦法辨別這件事嗎? 求解 感恩 -- ~$ sudo make love -j4 Error: 女朋友.c: 沒有此一檔案或目錄 -- ※ 發信站: 批踢踢實業坊(ptt.cc), 來自: 1.169.205.147 ※ 文章網址: https://www.ptt.cc/bbs/Marginalman/M.1555159747.A.55E.html

04/13 20:50, 6年前 , 1F
我不知道
04/13 20:50, 1F

04/13 20:50, 6年前 , 2F
04/13 20:50, 2F

04/13 20:50, 6年前 , 3F
可以,根據我8.7年以來的開發經驗
04/13 20:50, 3F

04/13 20:51, 6年前 , 4F
信任他
04/13 20:51, 4F

04/13 20:51, 6年前 , 5F
被js騙進來ㄌ
04/13 20:51, 5F

04/13 20:51, 6年前 , 6F
有這麼猛喔
04/13 20:51, 6F

04/13 20:51, 6年前 , 7F
不能辨別 那不就memory leak..那這個GC就只是G了Zzz
04/13 20:51, 7F

04/13 20:52, 6年前 , 8F
不 js確實很容易memory leak 因為一開始沒人在意它會
04/13 20:52, 8F

04/13 20:52, 6年前 , 9F
不會洩露 反正就是個網頁
04/13 20:52, 9F

04/13 20:54, 6年前 , 10F
MDB..工三小...反正網頁拉基Zzz
04/13 20:54, 10F

04/13 21:00, 6年前 , 11F
我想問的是 如果bar是用成員的方式引用了obj,那我就
04/13 21:00, 11F

04/13 21:00, 6年前 , 12F
十分信任它會被收集掉 問題它是用類似閉包的方式引用
04/13 21:00, 12F

04/13 21:00, 6年前 , 13F
的 這害我沒什麼信心
04/13 21:00, 13F

04/13 21:01, 6年前 , 14F
這個會考嗎
04/13 21:01, 14F

04/13 21:02, 6年前 , 15F
不會吧 這應該不太重要 反正大家習慣定時重啟程式了
04/13 21:02, 15F

04/13 21:02, 6年前 , 16F
只是我個人的潔癖
04/13 21:02, 16F

04/13 21:07, 6年前 , 17F
這葛會回收吧 只是不確定下次的回收週期會不會回收
04/13 21:07, 17F

04/13 21:10, 6年前 , 18F
好窩 那我信惹
04/13 21:10, 18F

04/13 21:12, 6年前 , 19F
信三小 我打完之後才發現我看不懂我在工三小==
04/13 21:12, 19F

04/13 21:16, 6年前 , 20F
QQ
04/13 21:16, 20F

04/13 21:17, 6年前 , 21F
毛毛狗
04/13 21:17, 21F

04/13 21:24, 6年前 , 22F
MDB你這樣算哪門子工程師Zzz
04/13 21:24, 22F

04/13 21:38, 6年前 , 23F
工三小
04/13 21:38, 23F

04/13 21:38, 6年前 , 24F
你誰啊
04/13 21:38, 24F

04/13 21:48, 6年前 , 25F
不認識xx阿北你是多菜
04/13 21:48, 25F
文章代碼(AID): #1SiTh3LU (Marginalman)