Вопросы с тегом «iife»

584
Какова цель упаковки целых файлов Javascript в анонимные функции, такие как «(function () {…}) ()»?

В последнее время я много читал Javascript и заметил, что весь файл упакован, как показано ниже, в импортируемые файлы .js. (function() { ... code ... })(); В чем причина этого, а не простой набор функций...

374
Зачем вам нужно вызывать анонимную функцию в той же строке?

Я читал некоторые посты о замыканиях и видел это повсюду, но нет четкого объяснения, как это работает - каждый раз, когда мне просто говорили использовать его ...: // Create a new anonymous function, to use as a wrapper (function(){ // The variable that would, normally, be global var msg = "Thanks...

110
Синтаксис немедленного вызова функции

Существует опция JSLint , фактически одна из хороших частей, которая «[требует] скобок вокруг немедленных вызовов», что означает, что конструкция (function () { // ... })(); вместо этого нужно было бы записать как (function () { // ... }()); У меня такой вопрос - может ли кто-нибудь объяснить,...

107
Расположение скобок для автоматического выполнения анонимных функций JavaScript?

Недавно я сравнивал текущую версию json2.js с версией, которая была в моем проекте, и заметил разницу в том, как выражение функции создавалось и выполнялось самостоятельно. Код, используемый для заключения анонимной функции в круглые скобки и последующего ее выполнения, (function () { // code here...

100
Как называется этот шаблон JavaScript и почему он используется?

Я изучаю THREE.js и заметил шаблон, в котором функции определены так: var foo = ( function () { var bar = new Bar(); return function ( ) { //actual logic using bar from above. //return result; }; }()); (Пример смотрите здесь метод raycast ). Нормальное изменение такого метода будет выглядеть...

9
Загрузка и использование устаревших модулей JS (например, IIFE) через импорт модулей ES6

У меня есть функции IIFE для некоторого кода библиотеки в унаследованном приложении, которое должно работать для IE10 + (без загрузки модуля ES6 и т. Д.). Однако я начинаю разрабатывать приложение React, которое будет использовать ES6 и TypeScript, и я хочу повторно использовать уже имеющийся у...