【发布时间】:2015-11-27 18:38:25
【问题描述】:
来自网络
它说它可以像这样从外部访问函数内部的值:
function a(){
var scope = "local scope";
function f(){return scope;}
return f;
}
console.log(a()());//it can get the value 'local scope'
我的问题是这段代码有什么不同
function a(){
var scope = "local scope";
return scope;
}
console.log(a());//it can get the value 'local scope' too
那么闭包的含义是什么?
为什么需要通过包装function来返回值?
【问题讨论】:
-
您是如何获得“需要”以这种方式编码的印象?
-
不需要。这是闭包的演示。
-
除非您必须这样做,否则您不必这样做。同样的方式你不需要使用
Math.random,直到你需要一个随机数。 -
how-do-javascript-closures-work 和其他几个可能重复
-
伙计们,你真的没有比问题标题读得更远吗?
标签: javascript closures