有人能否了解关闭的生命周期?如何杀死/摧毁它?列出所有闭包的任何方法?我google了很多,但无法找到任何相关内容,至少任何相关链接都会有所帮助。
示例:
var inc = function() {
var x = 0; // creating a closure
return function(){
return x++;
}
}
alert(inc());
当alert(inc())
函数调用返回时,闭包是否被终止?
答案 0 :(得分:3)
闭包是函数实例的一部分 垃圾收集器会在收集函数时收集它。
没有办法列出它们。
答案 1 :(得分:2)
闭包持续到垃圾收集器接收它们为止。这通常发生在没有更多引用指向它时(如果没有,那么它是内存泄漏)。你不能手动销毁它们,但是如果你知道引用它的是什么,你可以delete referenceVariable
它应该触发GC。
据我所知,无法获得闭包列表。