(this)前面的$美元符號用於選擇當前元素。我對選項和本選項前面的$有點困惑。他們有特殊的意義嗎?
var $options = $(this).children('option');
var $thisSelect = $(this);
感謝您的幫助
(this)前面的$美元符號用於選擇當前元素。我對選項和本選項前面的$有點困惑。他們有特殊的意義嗎?
var $options = $(this).children('option');
var $thisSelect = $(this);
感謝您的幫助
大家都說,它只是一個約定。
我使用變量前面的$
符號來標識此變量包含一個對象。
var thisIsANumber = 1024; // No $.. Its a normal variable
var $divElement = $('div#idOfDiv'); // Yes! Its a jQuery Object
var $this = $(this); // Commonly used to reduce the work javascript has to do!
//Now I can use something like this.. (Notice how easy it is to read!)
$divElement.slideUp();
// Or a more `real world` example!
$('#element').click(function(){
// Hold $(this) inside a variable
// So we don't have to traverse the dom unnecessarily
var $this = $(this); // Save it (its a object.. so prepend a `$`)
$this.hide(); // Use it again
$this.fadeIn(); // and again
//^Has a dollar sign, because it is a jQuery Object.
});
你會看到大量的插件使用這個約定(以及至少是寫得很好的)。
通過將對象存儲在變量中,每次獲得元素時,Javascript都不必抓取代碼。相反,我們已經有了元素(在變量中),所以我們用它來引用它。
如果您在同一個回調函數中多次使用$(this)
,則應將其存儲在變量中。(var $this = $(this);
)。否則,每次使用它時,JavaScript都必須從源代碼中每次獲取元素(這可能會大大降低性能!(特別是對於在慢速/舊計算機上瀏覽的人!)。
美元符號可用於指示當您的變量包含,而不是任何其他類型的jQuery對象。它完全取決於編碼器,如果他們想要在$ var前面加上$符號,它只是提醒。
沒有意義。這些只是普通字符,就像_
或π
(這個不安全,如果你不掌握你的工具鏈),你可以放入你的變量名。
請參閱here the specification regarding valid javascript name。尤其是這樣的:
本標準規定了特定的字符補充:美元符號 ($)和下劃線(_)被允許在任何地方以 IdentifierName。
您可能也有興趣this related answer。
前綴爲$
的變量通常包含jQuery集合。
這是一個常用的jQuery包裝對象的引用。它使得閱讀代碼更容易知道哪些變量是jQuery包裝的。
//Item has been "cached" for later use in the script as a jQuery object.
var $item = $(this);
其他常見的做法:
如果一個變量是私有的,然後使用下劃線是這樣的:
(function(){
var _foo = "bar";
})()
如果它是公共我們不使用下劃線:
var foo = "bar"
,如果它是一個jQuery選擇器,我們使用$:
var $foo = $('bar');
//then you can access it like this
$foo.attr('id')
這只是一種編碼規範,它可以讓您快速參考變量是什麼類型在後面的代碼。
做出了很大的反應n謝謝 – Richard77
$這些變量名前的符號就像變量名中的其他字符一樣。它沒有任何意義。你可以使用這個約定來確定你在這個變量中有jQuery對象。
有些人過去習慣於在var名前添加$
以便知道它的值是一個jQuery對象。
這樣我就知道下面的變量有不同的結果。
var $this = $(this);
var self = this;
這只是一個約定。 – Pointy
它是名字的一部分 – SLaks
'($ this $前面的$美元符號用於選擇當前元素'...錯誤''$()'是一個普通的函數調用 – SLaks