2012-10-04 11 views

Respuesta

9

Se llama función 'self ivoking' o 'invocada inmediatamente'. Significa que la función se ejecuta tan pronto como se crea usando los parámetros en el conjunto final de corchetes.

Further information

+0

qué hace eso; mean in; (function? –

+4

@AshokRaj Es probable que sea una forma de asegurar que cualquier código que no se haya cerrado correctamente, antes de la función, se cierre para que no interfiera con este código. –

+0

nice thank you:) ¿No resultaría esto en una recursión? –

1

Es una función anónima que se invoca inmediatamente (el llamado IIFE).

El paso del jQuery alias a $ y window y document por lo que puede estar seguro de la referencia es a la versión correcta en el medio ambiente exterior.

4

No estoy seguro de entender por completo lo que está preguntando, pero lo que hacen es que pasan el objeto jQuery, el objeto window y el objeto document a la función.

Lo más probable es que lo hagan por motivos de rendimiento. Esto hace posible que un minimizador acorte todas las referencias a window y document a algo como w y d, ya que son variables locales. En una gran biblioteca, eso podría ahorrar unos pocos bytes.

Además creo que (no tiene la referencia atm) que es un poco más rápido para acceder a una variable local, en comparación con una variable global (realmente una micro optimización, sin embargo).

2

Esto se llama llamada inmediatamente-expresión de función o Aplicación inmediata función anónima. Permite al desarrollador ocultar sus declaraciones privadas.

;(        // <---------------+ 
            //     | encapsulate the function 
    function($, window, document) { // <--+ declare | and call it passing three 
            // | anonymous | arguments. 
    }        // <--+ function | 
            //     | 
)(jQuery, window, document);  // <---------------+ 
Cuestiones relacionadas