美元符号

时间:2009-07-24 21:21:31

标签: jquery

我有这样简单的事情:

$(selector).append("somestuff");

但是由于我要重用选择器,我将它缓存为:

var $selector = $(selector);

所以我最终得到了:

$selector.append("somestuff");

我的问题是,我应该这样做,还是应该这样做:

var selector = $(selector);
selector.append("somestuff");

尝试任何一个,两个都有效。哪种方法是正确的,为什么? $中的$selector是否必要,因为jquery对象已在$(selector)中声明?


修改

感谢您的回答。看起来很简单也很清楚。尽管如此,我是否应该在变量中使用$似乎存在分歧。每个人投票给答案都很好。 :)

9 个答案:

答案 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变量名称的一部分。你只会迷惑自己。