У меня есть код IIFE в моем коде, где есть несколько других IIFE. Все они имеют имена (поэтому они не анонимны). Я хочу вызывать некоторые из IIFE позже (я имею в виду, да, они выполняют свою работу в начале, но я хочу использовать их позже), другой функцией. Как и в примере:Invoke IIFE «позже» с параметрами
(function start()
{
/* some code*/
(function firstIIFE(param1, param2)
{
if (param1 && param2)
{
console.log('param1 ',param1, 'param2 ',param2);
return;
}
/* some code done when IIFE originally was self-invoked */
}(param1, param2));
/* some code */
}());
function foo()
{
start.firstIIFE(param1, param2);
}
Можно ли, чтобы вызвать (firstIIFE
) IIFE позже? Поскольку я хочу, чтобы эта функция выполняла некоторые действия с param1
и param2
(которые я создал после вызова IIFE)? В настоящее время я получил ошибку как: неперехваченного ReferenceError: param1 не определен
'IIFE' => __Immediately Invoked Function Expression__ Почему вы хотите, чтобы они были выполнены позже? – Rayon
Потому что они делают что-то вроде того, что я хочу сделать с новыми параметрами (созданными после того, как IIFE выполнил свою работу). – Chris92
У вас может быть переменная, которая может содержать выражение функции, и вы можете использовать эту переменную где угодно, если хотите, чтобы выполнялись общие манипуляции. – Rayon