2009-11-02 9 views
5

Znam trochę JavaScript i mogę dobrze działać z jQuery. Po prostu nie rozumiem, dlaczego wszystko jest wymienione od $(). Rozumiem, że $ nigdy nie jest potrzebny w JavaScript (w przeciwieństwie do PHP, gdzie każda zmienna jest poprzedzona prefiksem $).

Przejrzałem kod źródłowy i nie ma to większego sensu. $ to nazwa funkcji (na przykład, to może z łatwością być jQuery(), ale wybrany $?) nie zakładają jednak, jak nie sądzę $ jest ważna w nazwach funkcji w JavaScript?

Odpowiedz

17

$ jest po prostu zmienną globalną, która jest również odniesieniem do funkcji jQuery, jest to celowo $, więc mniej jest do pisania.jest całkowicie poprawny dla nazwy funkcji w języku ECMAScript:

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

pamiętać, że jeśli używasz wielu bibliotek można wykorzystać zakres funkcji, aby uniknąć starcia dolarowych zmienne znakiem, np:

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

To dlatego, $() jest skrótem od jQuery() i jest funkcją, która owija wszystkie metody jQuery w przyjemną prostą funkcję. Jest naprawdę niesamowicie dobrze zaprojektowany, John Resig zbudował doskonałą oprawę.

Również, $ jest prawidłową nazwą funkcji.