73

可能重复:
为什么 javascript 变量会以美元符号开头?

我看到人们在使用 jQuery 时在变量前面使用美元符号。这背后有什么原因吗?我错过了一些基本的东西还是只是一种常见的做法?

4

5 回答 5

94

它是对 jQuery 包装对象的常见引用。它使阅读代码更容易知道哪些变量是 jQuery 包装的。

//Item has been "cached" for later use in the script as a jQuery object.
var $item = $(this);
于 2011-06-02T01:27:20.467 回答
43

对我来说,一个常见的做法是:

如果一个变量是私有的,我会使用这样的下划线:

(function(){
     var _foo = "bar";
})()

如果它是公开的,我将不使用下划线:

var foo = "bar"

如果它是一个 jQuery 选择器,我将使用$

var $foo = $('bar');
//then you can access it like this
$foo.attr('id')

这只是编码约定,它允许您在代码的后面快速引用变量的类型。

于 2011-06-02T01:31:54.093 回答
7

许多使用 jQuery 的人会在包含 jQuery 对象的变量前加上 $,以便于识别它们。考虑这个例子:

var $img = $(".someclass span.otherclass img");
/* somewhere later in the code */
$img.bind("click", function() {/*...*/});
于 2011-06-02T01:30:01.857 回答
3

以我的经验,这只是一种可读性。一些开发人员喜欢为他们的变量添加前缀,以便于发现它们。它也可能是一种 PHP 习惯,它逐渐渗透到 Javascript 中。

于 2011-06-02T01:28:12.323 回答
2

使用 JQuery 的代码中的美元符号通常意味着所讨论的变量是 jQuery 变量(由 jquery 包装的对象)。

于 2011-06-02T01:30:50.380 回答