Задать вопрос
PavelScron
@PavelScron

IIFE — самовызывающиеся функции. Правильно понял работу?

Читаю про паттерн модулей и возник вопрос. Этот код полностью идентичен получается? А самовызывающиеся функция удобнее только из-за читаемости и большей краткости?

function() {

  // глобальная переменная нашего скрипта
  var message = "Привет";

  // функция для вывода этой переменной
  function showMessage() {
    alert( message );
  }

  // выводим сообщение
  showMessage();

}();


и без IFFE

function lol() {

  // глобальная переменная нашего скрипта
  var message = "Привет";

  // функция для вывода этой переменной
  function showMessage() {
    alert( message );
  }

  // выводим сообщение
  showMessage();

};

lol();
  • Вопрос задан
  • 2786 просмотров
Подписаться 1 Простой Комментировать
Помогут разобраться в теме Все курсы
  • Яндекс Практикум
    Фронтенд-разработчик
    10 месяцев
    Далее
  • Skillfactory
    Профессия Веб-разработчик
    12 месяцев
    Далее
  • Нетология
    Fullstack-разработчик на Python + нейросети
    20 месяцев
    Далее
Решения вопроса 1
Decadal
@Decadal
видимо, вы перепутали анонимные функции и самовызывающиеся.

Если этот код для вас сюрприз, то копайте глубже.

(function lol() {

  // глобальная переменная нашего скрипта
  var message = "Привет";

  // функция для вывода этой переменной
  function showMessage() {
    alert( message );
  }

  // выводим сообщение
  showMessage();

})(); //именованная IIFE функция


Одна из целей IIFE - ограничить область видимости. Сделать так, чтобы переменные, объявленные в ней, не убежали в глобальную видимость.
Ответ написан
Пригласить эксперта
Ваш ответ на вопрос

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

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