我有这样简单的事情:
$(selector).append("somestuff");
但是由于我要重用选择器,我将它缓存为:
var $selector = $(selector);
所以我最终得到了:
$selector.append("somestuff");
我的问题是,我应该这样做,还是应该这样做:
var selector = $(selector);
selector.append("somestuff");
尝试任何一个,两个都有效。哪种方法是正确的,为什么? $
中的$selector
是否必要,因为jquery对象已在$(selector)
中声明?
感谢您的回答。看起来很简单也很清楚。尽管如此,我是否应该在变量中使用$
似乎存在分歧。每个人投票给答案都很好。 :)
答案 0 :(得分:47)
$
只是一个名称 - JavaScript中的名称可以包含美元符号,并且只能包含一个美元符号。
你的名字中是否使用美元符号与jQuery无关 - 除了jQuery定义了一个名为$
的函数之外,美元符号没什么特别之处。
答案 1 :(得分:32)
我看到过两种方式。你所要做的就是创建一个名为'$ selector'的变量,所以它们在功能上是等价的。关于它的好处是它确实使它们很容易被选为jQuery对象。
答案 2 :(得分:21)
现金标志只是jQuery功能的别名。使用$启动变量名称对该变量没有影响。
习惯上,尤其是在jQuery插件开发中,使用已经用jQuery包装的变量和现金符号,所以你知道你可以调用jQuery方法,而不必包装它们。
答案 3 :(得分:11)
RichieHindle是正确的。要扩展:
Javascript变量允许'$'字符。例如,您可以拥有以下内容:
var $i = 1;
var i = 1;
i和$ i都具有相同的值,并且两者都是完全合法的变量名称。
jQuery将自己(jQuery对象)分配给'$',因为传统上,这就是Javascript框架为选择器所做的事情。除了jQuery赋予它之外,“$”没有固有的含义。
答案 4 :(得分:9)
我喜欢用$
为我的所有jQuery对象名添加前缀,这样我就知道它实际上是一个jQuery对象,而不是DOM引用。
这是一个很好的命名惯例。
答案 5 :(得分:3)
在这种情况下,$selector
是匈牙利表示法的一个例子。它就是为了让你知道$selector
是一个jQuery对象。
如果你自定义jQuery对象始终以$
开头,如果你突然使用了一个错误,它将会出错,这将有助于你在代码中发现问题。
语言无关紧要。他们可以将jQuery函数J
或其他任何东西命名为; $
不是特殊符号。
答案 6 :(得分:2)
呀。
jQuery总是返回一个jQuery对象。这是允许链接的原因。
你已经定义了变量,所以你得到一个jQuery对象,所以$是不必要的
答案 7 :(得分:-1)
我不相信你需要将jQuery选择器添加到jQuery对象(因为它已经是对象的一部分)。我们不添加选择器,也没有遇到任何问题。
答案 8 :(得分:-2)
“$”是jQuery中的一个函数。所以当你调用$(selector)时,你实际上是以$
作为参数调用函数selector
。
通常,不要将“$”用作javascript变量名称的一部分。你只会迷惑自己。