使用 jQuery 时何时/为啥要在变量前加上“$”? [复制]

Posted

技术标签:

【中文标题】使用 jQuery 时何时/为啥要在变量前加上“$”? [复制]【英文标题】:When/why to prefix variables with "$" when using jQuery? [duplicate]使用 jQuery 时何时/为什么要在变量前加上“$”? [复制] 【发布时间】:2011-09-06 18:11:04 【问题描述】:

可能重复:Why would a javascript variable start with a dollar sign?

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

【问题讨论】:

我实际上没有发现任何有用的东西。错过了那个!谢谢。 这不是那个问题的重复——这个问题明确关注在 jQuery 上下文中的使用,并且收到了一组完全不同的回复。 【参考方案1】:

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

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

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

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

var foo = "bar"

如果是 jQuery 选择器,我将使用 $:

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

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

【讨论】:

这似乎是个好习惯。【参考方案2】:

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

【讨论】:

【参考方案3】:

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

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

【讨论】:

【参考方案4】:

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

【讨论】:

【参考方案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 没有区别。这没有错,但很多人认为这是一种过时的变量命名方式。 在使用 jQuery 的情况下,这并不是过时的,而是一种常规做法。 常规不排除过时:匈牙利符号和 jQuery 的优秀读物:bennadel.com/blog/… 我从未使用过——或见过——$item 在我处理过的代码中使用的符号,甚至表明它包含一个 jQuery 对象。但是,这种用法可能是 arguably Apps Hungarian 作为变量“表示一个 jQuery 对象”,而不是 System Hungarian(通常被认为是“坏种类”)。当然,由于缺少静态类型信息,这条线非常模糊。 @Breakskater ,赋值语句与任何代码一样具有自我描述性。 X = Y ... 没有其他办法这么说。如果人们不必来这里参考如何做某事或某事意味着什么,那么有 Stack Overflow、参考书等就没有意义了;这一切都是“显而易见的”。

以上是关于使用 jQuery 时何时/为啥要在变量前加上“$”? [复制]的主要内容,如果未能解决你的问题,请参考以下文章

我何时以及为啥要在 Swift 中使用协议?

Jquery

为啥 autoconf 脚本中的条件在变量前加上“x”?

为啥/何时应该使用静态声明变量?

scanf函数使用时忘记在变量前加上&

在IIS下,为啥安装php要在环境变量中加入php路径,有啥作用,为啥我没有加入也可以使用?