У нас может быть немедленный вызов функции двумя способами. Я смущен тем, в чем разница между следующими
var foo = function(){
return { };
}();
и это :
var foo = (function(){
return { };
}());
У нас может быть немедленный вызов функции двумя способами. Я смущен тем, в чем разница между следующими
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) В других контекстах круглые скобки заставляют выражение, когда может быть сгенерирован оператор функции.
// The parens here force an expression, which means it forces a function expression
// instead of a function statement.
(function () {....})