#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 и сама себя присваивает и тут же вызывает. Тут тоже можно почитать
Комментариев нет:
Отправить комментарий