1
我們可以通過兩種方式立即調用函數。我感到困惑的是什麼,下面自執行功能與IIFE的區別
var foo = function(){
return { };
}();
,這之間的區別:
var foo = (function(){
return { };
}());
我們可以通過兩種方式立即調用函數。我感到困惑的是什麼,下面自執行功能與IIFE的區別
var foo = function(){
return { };
}();
,這之間的區別:
var foo = (function(){
return { };
}());
完全一樣。
// This one creates a function expression, then executes that function expression.
var foo = function(){
return { };
}();
// This one creates a function expression, inside of a set of parens.
// the parens hold an expression.
var foo = (function(){
return { };
}());
的括號用於兩個原因:
1)在這種情況下,他們是一個線索的讀者,而不是編譯器,你有一個IIFE。
2)在其他上下文中,當可能生成函數語句時,parens強制執行表達式。
// The parens here force an expression, which means it forces a function expression
// instead of a function statement.
(function() {....})
謝謝...現在我的想法是明確的:) – 2015-01-31 19:31:42