[英]Is a Javascript this.object.property = object.property passed by reference or value; breaking garbage collector/memory leak
[英]Returned object from a function count as a reference to the closure for the javascript garbage collector?
我正在學習閉包,並且想對垃圾收集器的行為有所了解。 在下面的代碼中:
function valueMaker(name, value) {
var final = {};
final[name] = value;
final[double] = value*2;
return final;
}
first = valueMaker('first', 1);
當我調用valueMaker
它將在我擁有final
對象的位置創建一個閉包,然后返回該對象。
我的問題是:返回的對象計數是否為閉包的引用? 還是JavaScript足夠聰明,以至於我什么時候想讓閉包保持生命?
當我調用
valueMaker
它會創建一個閉包
不valueMaker
內沒有函數,因此任何地方都沒有閉包。
在評估function valueMaker
定義本身時創建了一個閉包,當您調用valueMaker()
時將使用該閉包。 盡管它甚至不是一個有趣的閉包 ,但鑒於它沒有可用的自由變量。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.