(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