是否可以使用var $ this = $(this);還是有更好的/更被接受的方式?
我問的唯一原因是我的文本編輯器似乎並不喜歡它。我假設這是因爲$可以用於其他語言的東西而不是Jquery。
我的代碼看起來是這樣的:如果這屬於代碼審查,但我並沒有得到太大的幫助有
var $this;
$('.element').each(function() {
$this = $(this);
});
道歉。
是否可以使用var $ this = $(this);還是有更好的/更被接受的方式?
我問的唯一原因是我的文本編輯器似乎並不喜歡它。我假設這是因爲$可以用於其他語言的東西而不是Jquery。
我的代碼看起來是這樣的:如果這屬於代碼審查,但我並沒有得到太大的幫助有
var $this;
$('.element').each(function() {
$this = $(this);
});
道歉。
你的代碼片段看起來更像是一個錯誤,而不是代碼風格的例子。我會假設你的意思是:
是的,這是完全可以接受的。你可以see here:
變量名必須以字母開頭
變量名也可以以$ _(1)(但我們不會使用它)
至於目標:這是一個可讀性問題 - 許多使用jQuery的人發現,使用$name
前綴他們的jQuery對象變量更容易閱讀。例如,這使得它更容易一眼看出什麼是jQuery對象,什麼是不:
var $this = $(this);
var $myVariable = $(".class1.class2:not(#exlusionId)");
一般來說你只有當你封閉功能的瓶蓋內使用它需要另一個參考this
。如上所述,更常見的是使用較長的,可能不重要的選擇器。當然,以上只是作爲理解爲:
var element = $(this);
var myVariable = $(".class1.class2:not(#exlusionId)");
它主要是你去
在其成爲一個令人討厭的情況下,哪種方式的習慣和/或個人喜好的事情是,當你有非JavaScript在混合例如,這一切都太經常可以看到用PHP解析網頁的源文件,這個討厭的,討厭的結構啓用:
var myJavascriptVariable = javascriptFunctionCall(<%php callSomePhp($phpVariables); %>);
不要混用dollarcase PREF ix在那裏,因爲它很快變成很難很難看到發生了什麼事情。或者甚至更好,不要在你的JavaScript在混合PHP所有
(1)_
或有時__
(雙下劃線)前綴通常用作前綴表示內「私人」領域物體
這是可以接受的,但不是您使用它的方式。
這是正確的做法:
$('.element').each(function() {
var $this = $(this);
});
也就是說,聲明變量內功能,而且永遠不應該跨職能共享。
它是可以接受的。然而重要的問題在初始化之後你要用'$ this'做什麼?另外,您正在使用_ID selector_,因此使用'.each()'記住ID必須是唯一的。 – Satpal
是的,可以接受。 – swfong
我不推薦做它的配對,任何叫做'this'的東西都在某種範圍內使用,你的'$(this)'var在'.each()'函數中被使用,你將它帶到給每個'範圍並給它一個'$ this'這個名稱,稍後在你的代碼中你會看到你的這個var,並且可能把它誤認爲你所在的範圍的'this' var,這會使它更容易處理,如果你只是稱之爲別的 – Banana