PavelScron
@PavelScron

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

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

function() {

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

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

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

}();


и без IFFE

function lol() {

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

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

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

};

lol();
  • Вопрос задан
  • 2771 просмотр
Решения вопроса 1
Decadal
@Decadal
видимо, вы перепутали анонимные функции и самовызывающиеся.

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

(function lol() {

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

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

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

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


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

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

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