我有这样简单的东西:
$(selector).append("somestuff");
Run Code Online (Sandbox Code Playgroud)
但是因为我要重用选择器,所以我将其缓存:
var $selector = $(selector);
Run Code Online (Sandbox Code Playgroud)
所以我最终得到:
$selector.append("somestuff");
Run Code Online (Sandbox Code Playgroud)
我的问题是,我应该这样做,还是应该这样做:
var selector = $(selector);
selector.append("somestuff");
Run Code Online (Sandbox Code Playgroud)
尝试任何一个,两个都有效.哪种方法是正确的,为什么?是$在$selector不必要的,因为jQuery对象已经在申报$(selector)?
谢谢你的回答.看起来很简单也很清楚.尽管如此,我是否应该$在变量中使用似乎存在分歧.每个人投票给答案都很好.:)
Ric*_*dle 47
$ 只是一个名称 - JavaScript中的名称可以包含美元符号,并且可以只包含一个美元符号.
你是否在你的名字中使用美元符号与jQuery无关 - 除了jQuery定义一个名为的函数之外,没有什么特别的美元符号$.
Ben*_*use 21
现金标志只是jQuery功能的别名.使用$启动变量名称对该变量没有影响.
然而,习惯上,特别是在jQuery插件开发中,使用已经用jQuery包装的变量和现金符号,所以你知道你可以调用jQuery方法,而不必包装它们.
the*_*edz 11
RichieHindle是正确的.扩大:
Javascript变量允许'$'字符.例如,您可以拥有以下内容:
var $i = 1;
var i = 1;
Run Code Online (Sandbox Code Playgroud)
i和$ i都具有相同的值,并且两者都是完全合法的变量名称.
jQuery将自己(jQuery对象)分配给'$',因为传统上,这就是Javascript框架为选择器所做的事情.除了jQuery赋予它之外,'$'没有固有的含义.