@mrMob

Какая разница между вызовами этих анонимных функций?

Какая разница между вызовами этих анонимных функций и как они работают?
№1
let f = function(x) {
        alert(x)
      };
      
      (function () {
        f(1);
      }() );


№2
let f = function(x) {
        alert(x)
      };
      
      (function () {
        f(1);
      } )();
  • Вопрос задан
  • 140 просмотров
Решения вопроса 2
sergiks
@sergiks Куратор тега JavaScript
♬♬
Для читаемости давайте вторую функцию - она одинаковая - тоже в переменную:
let f2 = function () {
  f(1);
}

Тогда код выглядит так:
// №1
( f2() );

// №2
( f2 )();


В первом случае можно убрать внешние скобки, они ничего не добавляют в данном случае.
Во втором можно убрать скобки вокруг f2 - они тоже ничего не меняют.
Итого, разницы нет )
Ответ написан
Комментировать
Vlad_IT
@Vlad_IT Куратор тега JavaScript
Front-end разработчик
Без разницы, важна сама цель, показать интерпретатору, что это выражение, а не конструкция. Можно разными способами
+function() { }()
!function() { }();
10 + function() { }();
Ответ написан
Комментировать
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы