何时/为什么在使用 jQuery 时为变量加上“$”前缀?

IT技术 javascript jquery variables dollar-sign
2021-03-05 05:26:58

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

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

5个回答

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

//Item has been "cached" for later use in the script as a jQuery object.
var $item = $(this);
在变量名前使用 $ 是所谓的“匈牙利符号”,与使用 int_count、arry_list 或 str_name 没有什么不同。这并没有错,但很多人认为这是一种过时的变量命名方式。
2021-05-04 05:26:58
@Breakskater ,赋值语句就像任何代码一样自我描述。X = Y ...别无他法。如果人们不必来这里参考如何做某事或某事意味着什么,那么堆栈溢出、参考书等就没有意义了;这一切都是“显而易见的”。
2021-05-10 05:26:58
在使用 jQuery 的上下文中,这并不是过时的,而是一种常规做法。
2021-05-13 05:26:58
常规不排除过时:关于匈牙利符号和 jQuery 的优秀读物:bennadel.com/blog/...
2021-05-14 05:26:58
我从未$item在我处理过的代码中使用 - 或看到 -符号,甚至表明它包含一个 jQuery 对象。然而,这种用法可能可以说是应用匈牙利作为变量“代表一个jQuery对象”,而不是系统匈牙利(这通常被认为是“坏种”)。当然,由于缺乏静态类型信息,这条线非常模糊。
2021-05-17 05:26:58

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

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

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

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

var foo = "bar"

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

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

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

这似乎是一个很好的做法。
2021-05-01 05:26:58

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

var $img = $(".someclass span.otherclass img");
/* somewhere later in the code */
$img.bind("click", function() {/*...*/});

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

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