2013-04-19 26 views
6
; (function ($, undefined) 
{ 

    // all the variables and functions of the js document 

})(jQuery); 

L'ho visto due volte nei file jquery/javascript per uno script di zoom.Non capisco cosa sia esattamente.Non riesco a trovarlo su Google, I non ricordo di aver trovato questo su tizag o w3schools mentre di recente sto imparando jquery e js.

Non c'è niente prima o dopo questo codice (a parte qualche commento). Quindi sono completamente perso su cosa sia o non sia (function())(jQuery);.

+1

Praticamente tutto sarà chiaro dopo aver letto questo: http://james.padolsey.com/javascript/iife-argument-madness/ – romainberger

risposta

6
(function ($, undefined) 
{ 

    // all the variables and functions of the js document 

})(jQuery); 

chiama un blocco di codice assicurare che all'interno

  • $ è utilizzabile per indicare jQuery
  • undefined è undefined

e che qualsiasi minifier può cambiare undefined ad una più breve etichetta.

L'iniziale ; assicura è possibile concatenare questo file con un altro: senza questo, devi avere un errore eseguendo il file concatened se quello appena prima che fosse qualcosa di simile

(function(){ 

})() 
3

Questo è un modo per garantire che $ sia effettivamente l'oggetto jQuery e per garantire che eventuali variabili e metodi locali siano privati ​​dell'ambito, ovvero non inquinino t lui spazio dei nomi globale.

È una funzione anonima che si chiama automaticamente, con il parametro passato come jQuery, il che significa che lo $ sarà l'oggetto jQuery.

Essere dichiarati all'interno di una funzione significa che le variabili e i metodi interni non saranno visibili al di fuori di esso.

+4

Inoltre - Il punto e virgola all'inizio è solo una misura di sicurezza nel caso in cui questo codice dovesse essere incluso dopo qualche altro JS senza formattazione corretta. –

Problemi correlati