我已經看到許多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 –