2012-10-03 9 views
8

Czasami w JQuery definiujemy zmienną jako var $a=$(), która jest jak deklarowanie funkcji. Więc chcę wiedzieć, czy to powoduje jakąkolwiek zmianę, jeśli zdefiniujemy zmienną tylko jako var a?

+0

Nie, nie ma żadnej różnicy. – David

+0

Czy masz na myśli "bez symbolu $"? Jeśli tak, to nie robi różnicy, to tylko konwencja, która czasami wskazuje, że używasz obiektu jQuery. –

Odpowiedz

4

Jeśli masz na myśli:

var a = $(/* Object or Selector gets passed here */) 

Wówczas jedyna różnica byłaby nazwa. Deweloperzy używają $a, aby wskazać, że ta wartość jest już określona jako jQuery. Pozostawienie go bez zmian nie będzie działało, ale będzie niedostępne dla przyszłych programistów.

+0

i co $() oznacza ??? –

+0

$() to skrót do funkcji jQuery. Jest przekazywany obiekt lub selektor. http://api.jquery.com/jQuery/ –

+0

thanx za pomoc .. –

2

Nie, to nie jest inaczej. $a jest taki sam jak a w tym kontekście. To po prostu nazwa zmiennej.

2

Generalnie wolę nazewnictwa obiektów jQuery poprzedzane znakiem $ .. Jest to konwencja rozpoznawać obiekty jQuery w kodzie ..

Ale to po prostu inna nazwa zmiennej ;;

var a = 2; 
var $a = $('#something'); 
2

Zasadniczo jest to dopuszczalne naruszenie Crockford's coding convention dla javascript. Służy do różnicowania obiektów jQuery z elementów DOM javascript.

E.g.

var a = document.getElementById('a'); // DOM element 
var $a = $(a); // jQuery object for the DOM element with ID 'a' 
1

$ jest dozwoloną postacią w identyfikatorach JS, nie ma znaczenia. $ (obj) opakowuje obiekt obiekt z obiektem jQuery i dekoruje obiekt z dodatkowym zachowaniem.

Są prawne Javascript nazwy zmiennych:

$a=1; 
a$$$=1; 
$a=1; 

Funkcja $ jest aliasem dla jQuery, jeśli można zrobić coś takiego:

Twój HTML:

<img src='logo.png' id='site_logo'/> 

twoi JS:

var logo = $('#site_logo'); 
logo.fadeOut(); 

Metoda fadeOut nie należy do elementu img, ale do opakowania jQuery.

+0

czy możesz dać przykład? .. więc zdjęcie zostanie w pełni wyczyszczone ...... –

Powiązane problemy