簡體   English   中英

從函數計數返回的對象作為對javascript垃圾回收器關閉的引用?

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM