我注意到在括号()
JavaScript解析器如何解析? (闭包模式没有括号)
(function() {
var foo = 1;
return function() {return foo}
}())
它提出了一个问题缠绕封闭的这种模式,这是怎么应该被解析:
function() {
var foo = 1;
return function() {return foo}
}()
我注意到在括号()
JavaScript解析器如何解析? (闭包模式没有括号)
(function() {
var foo = 1;
return function() {return foo}
}())
它提出了一个问题缠绕封闭的这种模式,这是怎么应该被解析:
function() {
var foo = 1;
return function() {return foo}
}()
括号围绕函数是必要的,因为当省略时,编译器假定它是一个函数语句。
函数语句不可调用。
括号不是必需的:http://jsfiddle.net/fkling/CFzuy/ – 2011-05-03 18:31:50
@Felix:不完全一样的例子,是吗?我想你认为埃文可能不是。 – 2011-05-03 18:42:48
@ two7s_clash:对不起,我不明白你的评论。 – 2011-05-03 18:44:22
它不乞讨的问题,它提出了问题 – Claudiu 2011-05-03 18:19:07
这不一定是封闭,只是一个匿名函数。 – delnan 2011-05-03 18:20:36
我假设你刚刚省略了左手边?如果您不将它们分配给变量,那么这两个表达式都是无效的。 – 2011-05-03 18:32:45