我已经看到许多js框架(包括jquery)围绕它们的主要功能范围使用闭包。例如,JavaScript - 为什么调用函数定义在闭合内?
var obj = (function(){
return {
test : function(){
alert('test');
}
}
})();
obj.test()
jQuery的来源, http://code.jquery.com/jquery-1.7.2.js
请告诉我需要那额外的 '封闭' 围绕 '功能'?或者什么,如果我们使用它像差,
var obj = function(){
return {
test : function(){
alert('test');
}
}
}();
obj.test()
都具有相同的行为和功能定义本身提出了新的范围内的所有局部变量...那么,为什么多余的封?
您发布的两段代码是相同的。 –
你似乎意思是“括号”而不是“封闭”。 – Ashe
http://stackoverflow.com/questions/6645766/why-are-parenthesis-used-to-wrap-a-javascript-function-call –