Самоисполняющиеся функции [дубликаты]
Possible Duplicate:
Difference between (function(){})(); and function(){}();
Я пытаюсь понять некоторые особенности JavaScript немного лучше. ВThe Definitive JavaScript
в нем говорится, что у самозапускающихся функций должны быть квадратные скобки, например:
var obj = (function() {
var value = 0;
return {
increment: function(inc) {
value += typeof inc === "number" ? inc : 1;
},
getValue: function() {
return value;
}
}
})();
но вJavaScript - The Good Parts
откуда взят этот пример, у него есть вышеуказанная функция, выполняемая без круглых скобок, например:
var obj = function() {
var value = 0;
return {
increment: function(inc) {
value += typeof inc === "number" ? inc : 1;
},
getValue: function() {
return value;
}
}
}();
Оба эти примера работают для меня, но я хотел спросить, есть ли различия в функциональности, о которых я должен знать. Я надеюсь, что это не слишком тривиально. Я просто хотел быть уверен.
Большое спасибо.
Edit:
Как указал Роб У., на эту тему есть еще одна тема.Это отличный блог по этой проблеме это было связано с другим постом.