【问题标题】:Is Callback become closures?Callback 会变​​成闭包吗?
【发布时间】:2015-02-18 21:06:23
【问题描述】:
function fn(args){
    var a= 'something';
    doSomething('dummy',function(){

    });
}

fn();

在这段代码中,匿名回调是关闭还是执行后退出?如果它变成了一个闭包,我怎么能取回内存,因为它总是可以访问fn的激活对象。

【问题讨论】:

    标签: node.js callback closures


    【解决方案1】:

    只有当 lambda 使用封闭函数'(fn) 局部变量或参数时,它才会是一个闭包,例如aargs

    Re: 内存恢复 - 不用担心* - GC 将知道何时不再可访问引用并收集它们(无论它们是否在闭包中使用)。 See also here

    * Don't worry too much

    【讨论】:

    • 如果我使用fn 局部变量或arguments,它将是闭包。所以,我每次调用fn 时都会创建闭包& 如何在执行回调后清理范围找回记忆。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2011-08-02
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2013-12-05
    相关资源
    最近更新 更多