+function () {} ();El signo más aquí también se puede reemplazar por otros operadores unaros como!, ~, Y el efecto es equivalente a:
(function () {console.log ("foo!");}) (); // o (function () {console.log ("foo!");} ());Sin este signo más, el analizador pensará que la función es el comienzo de una declaración de función, y el posterior () causará un error de sintaxis. Cuando se agrega el signo + antes de la función, se convierte en una expresión de función, y cuando se agrega a () después de la expresión de la función, se convierte en una función ejecutada inmediatamente.
Echemos un vistazo a la función del punto de exclamación frente a la función JS:
1. Formulario de declaración de función JS
función fna () {alerta ('msg');} // Función de definición de declaración2. Forma de expresión de la función JS
var func = function (Agr1, arg2) {// Crear alerta de función anónima (arg1 + '' ' + arg2);}3. Formatos comunes para ejecutar inmediatamente después de la declaración de función anónima de JS
(function () { / * código * /}) ();ilustrar
1. El primer par de soportes que rodean la función (function () {}) devuelve la función sin nombre al script, y luego un par de soportes vacíos ejecuta inmediatamente la función sin nombre devuelta, con los parámetros de la función anónima en los soportes.
2. Use entre paréntesis para definir el cuerpo de la función, y el analizador llamará a la función de definición en forma de expresión de función. En otras palabras, cualquier método que pueda convertir una función en una expresión de función puede permitir que el analizador llame correctamente la función definida. ¡Y! es uno de ellos, y + - || tiene tal función.
3. La función de esta función es principalmente una ejecución anónima y automática.