【问题标题】:Lifetime of parameters参数的生命周期
【发布时间】:2011-07-03 19:29:33
【问题描述】:

摘自“JavaScript:权威指南,第 4 版”第 7.1 节:

请注意,这些参数变量仅在函数执行时定义;它们一旦函数返回就不会持续存在

这是真的吗?这是否意味着如果我打算在嵌套函数中使用它们,我必须将一些参数保存到局部变量中?

【问题讨论】:

    标签: javascript parameters closures lifetime


    【解决方案1】:

    您可以像处理任何其他局部变量一样关闭参数,如下所示:

    function test(v1) {
        return function() {
            alert(v1);
        }
    }
    
    var f = test("hello");
    f();
    

    这只是因为返回的函数在其词法范围内关闭了变量。在正常情况下,是的,参数确实是函数的本地参数,并且在函数返回后不会持续存在。

    【讨论】:

      猜你喜欢
      • 2023-02-24
      • 1970-01-01
      • 1970-01-01
      • 2019-06-26
      • 1970-01-01
      • 2017-06-10
      • 2015-12-08
      • 2020-11-21
      • 1970-01-01
      相关资源
      最近更新 更多