Jaki jest cel zewnętrznych nawiasów zewnętrznych w poniższej funkcji zamykania JavaScript? Powiedziano mi w innych postach, że nie są one bezwzględnie konieczne, ale są konwencją, która wyjaśnia, że wynik funkcji jest przekazywany, a nie sama funkcja. Poniższy cytat z http://www.adequatelygood.com/JavaScript-Module-Pattern-In-Depth.html , jednak konflikty. Który jest poprawny?Przeznaczenie zewnętrznego dodatkowego nawiasu na funkcję zamykania JavaScriptu
Zwróć uwagę na() wokół anonimowej funkcji. Jest to wymagane przez język , ponieważ instrukcje rozpoczynające się od funkcji tokenu to zawsze uważane za deklaracje funkcji. Włączenie() tworzy zamiast tego wyrażenie funkcji .
(function() {
// ... all vars and functions are in this scope only
// still maintains access to all globals
}());
Można również poprzedzić je nieważne lub operatorem arytmetycznym. –
@Jack. Proszę wyjaśnij. – user1032531
http://benalman.com/news/2010/11/immediately-invoked-function-expression/ –