2009-11-02 19 views
5

Conosco un po 'di JavaScript e può funzionare bene con jQuery. Solo non capisco perché tutto è referenziato da $(). La mia comprensione è che $ non è mai necessario in JavaScript (diversamente dal PHP, dove ogni variabile è prefissata con $).

Ho guardato attraverso il codice sorgente e non ha molto senso. $ è il nome della funzione (ad esempio, avrebbe potuto facilmente essere jQuery(), ma selezionato $?) io non presumo, anche se, come non credo che $ è valido per i nomi di funzione in JavaScript?

risposta

17

$ è solo una variabile globale che è anche un riferimento alla funzione jQuery, è lo $ di proposito quindi è meno da digitare. $ è perfettamente valido per un nome di funzione in ECMAScript:

function $(){}; alert(typeof $); 

Si noti che se si sta utilizzando più librerie è possibile utilizzare ambito funzione per evitare la concomitanza variabili simbolo del dollaro, ad esempio:

jQuery.noConflict(); 
(function($){ 
    $('body').hide(); 
})(jQuery); 
6

È perché $() è l'abbreviazione di jQuery() ed è una funzione che avvolge tutti i metodi di jQuery in una semplice funzione. E 'davvero incredibilmente ben progettato, John Resig ha costruito un quadro eccellente.

Inoltre, $ è un nome di funzione valido.