Кайл Симпсон

Цитати

Amiran Bestaev (CHICO)цитує2 роки тому
Сравните два предыдущих фрагмента. В первом фрагменте имя

foo связывается с внешней областью видимости, и мы вызываем

его напрямую foo(). Во втором фрагменте имя foo не связывается

с внешней областью видимости, а только со своей функцией.

Иначе говоря, (function foo(){ .. }) как выражение означает,

что идентификатор foo находится только в области видимости,

в которой находится .., а не во внешней области видимости. Со-

крытие имени foo означает, что оно не будет без необходимости

загрязнять внешнюю область видимости.
Amiran Bestaev (CHICO)цитує2 роки тому
например (function foo(){ .. })(). Первая пара () преобразует

функцию в выражение, а вторая пара () выполняет функцию.

Этот паттерн настолько распространен, что несколько лет назад

сообщество выработало для него специальный термин: IIFE (со-

кращение от «Immediately Invoked Function Expression», то есть

«немедленно вызываемое функциональное выражение»).

68

Глава 3. Функциональные и блочные области видимости

Конечно, для IIFE имена не обязательны, в самой распространен-

ной форме IIFE используется анонимное функциональное вы-

ражение. Именованные IIFE, хотя и встречаются безусловно реже, обладают всеми преимуществами перед анонимными функцио-

нальными выражениями, так что эту практику стоит взять на

вооружение.
Amiran Bestaev (CHICO)цитує2 роки тому
Вся суть блочной области видимости заключается в том, чтобы

объявлять переменные как можно ближе к месту их использова-

Враження

Елена Кузнецоваділиться враженнямторік
💡Пізнавальна
🎯Корисна
👍Раджу

  • недоступно
  • fb2epub
    Перетягніть файли сюди, не більш ніж 5 за один раз