2011-06-02 70 views
72

可能重複:
Why would a javascript variable start with a dollar sign?

我看到使用jQuery時,使用美元符號的變量前面的人。這背後有什麼理由嗎?我錯過了一些基本的東西,還是僅僅是一種常見的做法?

+2

我其實沒有發現任何有用的東西。錯過了那一個!謝謝。 – elclanrs 2011-06-02 01:47:53

+5

這不是一個重複的問題 - 這個問題*明確地集中在jQuery上下文中的使用*並且已經收到了完全不同的一組響應。 – 2011-06-02 01:53:52

回答

92

這是一個常用的jQuery包裝對象的引用。它使得閱讀代碼更容易知道哪些變量是jQuery包裝的。

//Item has been "cached" for later use in the script as a jQuery object. 
var $item = $(this); 
+8

在變量名稱前面使用$是所謂的「匈牙利符號」,與int_count,arry_list或str_name沒有區別。這並沒有錯,但很多人認爲這是一種過時的變量命名方式。 – 2011-06-02 01:33:31

+19

在使用jQuery的情況下,這不是過時的,而是一種慣例。 – 2011-06-02 01:35:05

+13

Regular不排除過期:對匈牙利語法和jQuery的精彩閱讀:http://www.bennadel.com/blog/1778-Using-Variable-In-jQuery-Code-Is-Just-Hungarian-Notation.htm – 2011-06-02 01:45:31

2

根據我的經驗,這只是一個可讀性。一些開發人員喜歡爲變量添加前綴,以便於發現。它也可能是一種PHP習慣,正在逐漸滲透到Javascript中。

6

許多使用jQuery的人會將包含jQuery對象的變量前綴爲$,以便輕鬆識別它們。考慮這個例子:

var $img = $(".someclass span.otherclass img"); 
/* somewhere later in the code */ 
$img.bind("click", function() {/*...*/}); 
2

使用JQuery的代碼中的美元符號通常意味着所討論的變量是一個jQuery變量(一個由jquery包裝的對象)。

37

對我來說,通常的做法是這樣的:

如果一個變量是私人我用這樣的下劃線:

(function(){ 
    var _foo = "bar"; 
})()

如果它是公共我將使用沒有下劃線:

var foo = "bar"
如果是jQuery選擇器,我將使用 $

它只是編碼約定,它允許您在代碼中稍後引用該變量的類型。

+2

這似乎是一個很好的做法。 – elclanrs 2011-06-02 01:55:18

相關問題