2014-09-23 56 views
3

是否有規則或最佳實踐來編寫不需要內存的JavaScript代碼?如何編寫不需要內存的JavaScript應用程序?

回到我不得不分配和釋放軟件中每個字節的時候,我在腦海中充分了解了內存使用情況。但現在我還不確定。所有那些交叉和循環引用,閉包,鴨子打字,我習慣了那些很棒的功能,但總是對記憶效應感到不確定。

+1

你以前看過這個嗎? https://developer.mozilla.org/en-US/docs/Web/JavaScript/Memory_Management – admdrew 2014-09-23 20:59:53

+0

我的答案是不使用js;)真的 - 但我也同意戴 – 2014-09-23 21:01:52

+0

那麼,知道你的車如何工作,以及它是如何設計是一回事,但是有一套很好的實用規則,怎樣不要太快地殺死它是另一回事。 – exebook 2014-09-23 21:04:08

回答

0

任何時候你退出一個範圍,垃圾收集器都會完成它的工作。所以如果你將一些代碼移動到一個執行和結束的函數中,那麼當函數結束時(除了函數調用之前可用的變量除外),所有變量都將被垃圾回收。

+1

函數作用域中的對象也被關閉了嗎?該語句「執行並結束,所有變量將在函數結束時被垃圾回收」不正確。 – 2014-09-23 21:11:06

+0

當函數作用域結束時,本地對象被垃圾收集,不是? – 2014-09-23 21:12:51

+0

不,這不是它的工作原理。瀏覽器使用的垃圾收集算法採用不同的路線,但沒有一個用於「功能結束,垃圾收集」。閉包是JavaScript的一個基本部分,GCing函數作用域變量在函數結束時會將這個概念抽象化。 – 2014-09-23 21:16:02

相關問題