2012-09-08 11 views

risposta

13

$ è un argomento a una funzione. jQuery è ciò che viene passato come argomento quando viene invocata la funzione.

Pensate a come questo:

function init($) { 
    // code can use $ here as a shortcut for jQuery 
    // even if $ has a different definition globally or isn't defined globally 
} 

init(jQuery); 

Fatta eccezione per il fatto che questo esempio crea un simbolo globale init, l'esecuzione di questo e la vostra IIFE sono identici. Entrambi definiscono una funzione e la chiamano immediatamente.

$ è un argomento della funzione. jQuery è ciò che viene passato come argomento. Questo serve a definire $ come collegamento per jQuery all'interno di quella funzione senza influire sulla definizione globale di $. A volte può anche essere un leggero vantaggio in termini di prestazioni perché i simboli definiti localmente (come variabili locali o come argomenti denominati) possono essere leggermente più veloci per accedere ai simboli globali.

Il vantaggio dell'IIFE è che non vengono definiti nuovi simboli globali. Oltre a questo, è identico in esecuzione a questo codice.

+0

bella risposta amico mio :-) Grazie! :-) – Hirvesh