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



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


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

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

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

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

2
Загрузка и использование устаревших модулей JS (например, IIFE) через импорт модулей ES6
У меня есть функции IIFE для некоторого кода библиотеки в унаследованном приложении, которое должно работать для IE10 + (без загрузки модуля ES6 и т. Д.). Однако я начинаю разрабатывать приложение React, которое будет использовать ES6 и TypeScript, и я хочу повторно использовать уже имеющийся у меня код без дублирования файлов. …
Используя наш сайт, вы подтверждаете, что прочитали и поняли нашу Политику в отношении файлов cookie и Политику конфиденциальности.
Licensed under cc by-sa 3.0 with attribution required.