#javascript
This question already has answers here:
Синтаксис замыканий в JS
(3 ответа)
Закрыт 3 года назад.
Есть такой кусок кода:
(function aaa(){alert("555")})()
и такой:
(function aaa(){alert("555")}())
Оба они правильно выводят результат, т.е. синтаксических ошибок нет.
Вот только чем они отличаются, помимо написания скобок?
Ответы
Ответ 1
функция внутри является не Function Declaration, а частью выражения, то есть Named Function Expression. Его имя видно только внутри, снаружи Его не видно.По этому выражние исполнится и потом викенит ошибку.Оно должно быть либо присвоено либо завершенной точкой с запятой ; . (function aaa(){alert("555")}()); Именованные функциональные выражения А первый это само декларируемая функция,она как бы работает как Expression и сама себя присваивает и тут же вызывает. Тут тоже можно почитать
Комментариев нет:
Отправить комментарий