2009-11-02 7 views
5

Ich kenne ein bisschen JavaScript und kann gut mit jQuery funktionieren. Ich verstehe einfach nicht, warum alles von $() referenziert wird. Mein Verständnis ist, dass $ nie in JavaScript benötigt wird (anders als zum Beispiel PHP, wo jeder Variable $) vorangestellt ist.

Ich habe den Quellcode durchgesehen, und es macht keinen Sinn $ der Funktionsname ist (zum Beispiel könnte es leicht hat jQuery() gewesen sein, aber sie ausgewählt $?) ich gehe davon aus nicht, aber, wie ich glaube nicht $ in Funktionsnamen in JavaScript gültig ist?

Antwort

17

$ ist nur eine globale Variable, die auch eine Referenz auf die jQuery-Funktion ist, ist es $ absichtlich, so dass es weniger zu tippen ist $ ist perfekt für einen Funktionsnamen in ECMAScript gültig:

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

Beachten Sie, dass, wenn Sie mehrere Bibliotheken verwenden Sie Funktionsumfang nutzen können kollidierende Dollarzeichen Variablen zu vermeiden, zum Beispiel:

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

Es ist, weil $() ist die Abkürzung für jQuery() und es ist eine Funktion, die alle Methoden von jQuery in eine nette einfache Funktion umschließt. Es ist wirklich erstaunlich gut gestaltet, John Resig hat einen ausgezeichneten Rahmen aufgebaut.

Außerdem ist $ ein gültiger Funktionsname.