$
è 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.
bella risposta amico mio :-) Grazie! :-) – Hirvesh