@mrMob

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

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


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

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

// №2
( f2 )();


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

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

Войти через центр авторизации
Похожие вопросы
RealtimeBoard Пермь
от 90 000 до 140 000 руб.
Smartbics Нижний Новгород
от 50 000 до 70 000 руб.
//stablecode Вена
от 110 000 до 140 000 руб.
20 февр. 2019, в 23:54
1000 руб./за проект
20 февр. 2019, в 23:26
25000 руб./за проект
20 февр. 2019, в 22:04
500 руб./за проект