Funciones auto invocadas

Problema:

Función que se ejecuta en el momento de ser definidas (IIFE)

Una función se ejecuta cuando es llamada desde alguna parte de un script. Es lo habitual.

Pero ¿y si tenemos una función que deba ejecutarse una sola vez en el momento inicial de mi aplicación web?

Solución

Usar las IIFE: funciones de ejecución inmediata

Son funciones que se ejecutan en el momento que son definidas. El cuerpo se ejecuta y la función queda definida como cualqueir otra función.

El código genérico es:

(function(args){

     código

})(args)

Observa que va encerrado entre paréntesis y que al final van los parámetros que se le pasan a la función, también entre paréntesis

Ejemplo

Esta función se ejecuta cuando se define y lleva como argumentos white y black

(function (bg, fg){

   let st = documnet.body.style    

   st.background = bg;

   st.color = fg;

})(white, blue);

En el momento en que se define se ejecuta y pone el color del fondo en white (blanco) y el texto en blue (azul)

scripts