我有一個關於JavaScript隱藏或不可見變量的問題給我們。因爲它們不是在全局上下文中創建的。當我們編寫大型Web應用程序時,一些變量或函數不可行,但我們不知道它們的存在。他們吃我們的資源,如CPU,GPU。例如,我總是期望匿名函數中的所有變量在執行後都會被刪除(當然,如果沒有從上下文中引用它)。在這個例子中,我看不到interval
變量無處不在,但它總是寫入控制檯interval
id。JavaScript:檢測不可見變量
(function() {
var interval = setInterval(function(){
console.log(interval.toLocaleString());
// some heavy operation
}, 1000);
})();
另一個例子是我在Backbone.js中創建了視圖,然後我意識到刪除視圖後,它也存在。 我的問題是,我怎樣才能找到或看到所有存在的變量,但在全局上下文中不可見?
'interval'消耗計算機資源具有_nothing_做'的console.log()'工作。 –
您的示例中的變量「interval」在調用匿名函數後無需保持活動狀態,因爲閉包(定時器處理函數)中沒有對它的引用。 – Pointy
可能重複[用於調試JavaScript中的內存泄漏的工具](http://stackoverflow.com/questions/3573252/tools-for-debugging-memory-leaks-in-javascript) - 不確定你實際要求什麼;你可以在瀏覽器的JavaScript調試器中檢查這些變量 – Bergi