2012-10-03 48 views
8

有時在JQuery中,我們將變量定義爲var $a=$(),就像聲明一個函數一樣。所以我想知道它是否會做出任何改變,如果我們只定義變量var a

+0

不,完全沒有區別。 – David

+0

你的意思是「沒有$符號」嗎?如果是這樣,那麼它沒有什麼區別,它只是一個慣例,有時會表示您正在使用jQuery對象。 –

回答

4

如果你的意思是:

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

那麼唯一的區別是名稱。開發人員使用$a來指示該值已經爲jQuery -ied。離開它不會改變功能,但會對未來的開發人員提供解除服務。

+0

和$()代表什麼? –

+0

$()是jQuery函數的快捷方式。它要麼傳遞一個對象或選擇器。 http://api.jquery.com/jQuery/ –

+0

thanx的幫助.. –

2

不,它沒有什麼不同。 $a與該情況下的a相同。這只是一個變量名稱。

2

加上$符號前置一般來說,我更喜歡命名jQuery的對象..它認識到在你的代碼的jQuery對象的規則..

但它只是另一個變量名稱;;

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

基本上,這是允許的違反Crockford's coding convention的JavaScript。它用於區分jQuery對象和javascript DOM元素。

E.g.

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

$是JS標識符中的允許字符,它沒有區別。 $(obj)用jQuery對象包裝對象obj,並用許多其他行爲來裝飾obj。

這些都是合法的JavaScript變量名:

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

功能$是jQuery的一個別名,如果你這樣做:

你的HTML:

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

您的JS:

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

fadeOut方法不屬於img元素,而是屬於jQuery包裝器。

+0

會üplz舉個例子??讓圖片完全清除...... –

相關問題