2012-05-04 55 views
11

我有以下代碼:我需要在JavaScript之前放置一個美元嗎?

var formSubmitHandler = function (link, form) { 

    //e.preventDefault(); 
    var $form = form; 
    var val = $form.valid(); 
    var action = $(form).data('action'); 
    var entity = $(form).data('entity'); 

我需要行「變量$形式=形式」? ?可我只是後來做「變種VAL = form.valid();

這不是我的代碼,所以我很奇怪,爲什麼開發者添加的形式之前的$並賦予它

更新:

感謝您的答覆。如果我們已說過它只是爲了表明它是一個jQuery變量,然後我能不能用函數的參數更改爲(鏈接,$形式)?

+2

可能重複[爲什麼一個JavaScript變量以美元符號開始?(http://stackoverflow.com/questions/205853/why-would-a-javascript-variable-start-with-a -dollar-sign) –

+0

有時,變量名前面的'$'是表明它是一個jQuery對象,而不是一個原始的DOM元素。也就是說,你可以在前面用'$'來說'var $ this = $(this)',表示它是一個jQuery對象。另一方面,你可能有'var element = document.getElementById('test')'。當然,這完全取決於開發者。 – Reid

回答

11

$jQuery基本上都是jQuery實例。

很好理解$(< place something here >)是一個jQuery函數調用,而$your_variable_name只是一個帶有美元的變量。

有些人在自己的變量中使用$來表明它是一個jQuery對象。有了這個命名約定,你的源代碼會喜歡這個。

var formSubmitHandler = function (link, form) { 
    var $form = $(form); 
    var val = $form.valid(); 
    var action = $form.data('action'); 
    var entity = $form.data('entity'); 
+0

'有些人在他們自己的變量中使用$來表示它是一個jQuery對象。'只是要注意它在普通的JS中也被用來表示它是一個HTMLElement引用。 –

+1

我認爲指出'$'不是jQuery的東西是非常重要的。它被jQuery ...經常使用。 –

3

沒有刪除了這一行,您不必使用$標誌,通常只是一種美學選擇。

在上面的示例代碼中,該函數的參數被命名爲function (link, form)。在函數內部,聲明的新變量具有$,以便將其與參數變量form區分開來。

3

這不是必需的。變量之前的美元符號大部分時間被用來表示它是一個JQuery變量。 JQuery使用美元符號作爲快捷鍵。在變量名中使用它沒有其他含義,除了開發者的美學意義外,它是一個JQuery對象。

+1

爲了澄清他人:美元符號*是變量。 –

1

使用$符號來幫助區分表示常規DOM元素的JavaScript變量(以及每個其他數據類型)和持有對jQuery對象的引用的變量已成爲最佳實踐。對於後者,您使用$符號。

相關問題