jQuery:为什么在变量名前加一个$?

时间:2011-04-22 09:27:37

标签: jquery

我正在尝试学习jQuery,我在一个例子中遇到了这一行。

var $title = $(tag).attr('title');

有人可以告诉我$title中的前置$是什么。

如果我用$title替换title,该示例似乎工作正常。

我明白这可能是一个愚蠢的问题但是浪费时间在谷歌搜索“$的目的”

非常感谢。

8 个答案:

答案 0 :(得分:18)

它并不意味着什么。 $字符是Javascript变量名称中的合法字符。

但是,有一个约定(不是通用的)使用$作为指向jQuery选择的任何变量的前缀。

您举例:

var $title = $(tag).attr('title');

根据这个惯例,这是对$字符的错误使用。 $title是一个字符串,而不是jQuery选择。

这将正确使用角色:

var $el = $(tag);
var title = $el.attr('title');

否则,$字符普遍存在的一个重要原因是它在PHP中是强制性的,并且jQuery和PHP程序员之间存在很大的重叠。

答案 1 :(得分:1)

我认为人们将它用作'我用jQuery查找的东西的约定,我想要保留而不需要再查找'。

您经常看到的是var $this = $(this)

答案 2 :(得分:1)

$是javascript变量名中的有效字符。你发布的剪辑没有任何区别。请参阅this related answer

答案 3 :(得分:1)

看起来PHP开发人员有点累,并没有意识到他在javaScript代码块中。

答案 4 :(得分:0)

在JavaScript中,您不需要在变量名称上使用$。但是,要使用jQuery(通常是$)访问元素,您需要('#selector_id')位上的$ - 即$('#selector_id')

这样做的目的是向程序员表明变量是一个jQuery包装器对象。

答案 5 :(得分:-1)

在javascript $中没什么。这与将a添加到标题(atitle)相同。它只是一个可用于名称的符号。

答案 6 :(得分:-2)

$没有任何目的,只是这样命名。 =)

答案 7 :(得分:-3)

符号'$'映射到jQuery类。没有理由在标题前加上'$'。