Javascript 参数寿命
摘自“JavaScript:第四版最终指南”第7.1节: 请注意,这些参数变量仅在函数执行时定义;一旦函数返回,它们就不会持续存在Javascript 参数寿命,javascript,parameters,closures,lifetime,Javascript,Parameters,Closures,Lifetime,摘自“JavaScript:第四版最终指南”第7.1节: 请注意,这些参数变量仅在函数执行时定义;一旦函数返回,它们就不会持续存在 这是真的吗?这是否意味着如果要从嵌套函数中使用某些参数,必须将其保存到局部变量中?您可以像关闭任何其他局部变量一样关闭参数,如下所示: function test(v1) { return function() { alert(v1); } } var f = test("hello"); f(); 这只是因为返回的函数关闭了其词
这是真的吗?这是否意味着如果要从嵌套函数中使用某些参数,必须将其保存到局部变量中?您可以像关闭任何其他局部变量一样关闭参数,如下所示:
function test(v1) {
return function() {
alert(v1);
}
}
var f = test("hello");
f();
这只是因为返回的函数关闭了其词法范围内的变量。在正常情况下,是的,参数确实是函数的局部参数,并且在函数返回后不会持久化