为了账号安全,请及时绑定邮箱和手机立即绑定

为什么JavaScript变量以美元符号开头?

为什么JavaScript变量以美元符号开头?

Cats萌萌 2019-06-03 13:25:28
为什么JavaScript变量以美元符号开头?我经常看到JavaScript中有以美元符号开头的变量。您什么时候/为什么选择以这种方式在变量前加上前缀?(我不是在问$('p.foo')在jQuery和其他方面看到的语法,但是普通变量如$name和$order)
查看完整描述

4 回答

?
偶然的你

TA贡献1841条经验 获得超3个赞

在第一,第二,和ECMAScript第3版,规范显式禁止使用$-前缀变量名称,但在自动生成代码的上下文中除外:

美元符号($)和下划线(_)允许在标识符中的任何位置。美元符号只用于机械生成的代码中。

但是,在下一个版本中(第5版,这一限制被取消,上面的段落被替换为

美元符号($)和下划线(_)允许在标识名.

因此,现在可以在变量名称中自由使用$符号。某些框架和库在符号的意义上有自己的约定,在这里的其他答案中也提到了这一点。


查看完整回答
反对 回复 2019-06-03
?
慕的地10843

TA贡献1785条经验 获得超8个赞

正如其他人所提到的,美元符号被机械地生成的代码所使用。然而,这个约定已经被一些广受欢迎的JavaScript库打破了。jQuery、Prototype和MS Ajax(AKA Atlas)都在标识符(或作为整个标识符)中使用这个字符。

简而言之,您可以使用$你想什么时候都行。(翻译不会抱怨。)问题是你什么时候想要用它?

我个人不使用它,但我认为它的使用是有效的。我认为Ajax使用它来表示函数是一些更详细的调用的别名。

例如:

var $get = function(id) { return document.getElementById(id); }

这似乎是一个合理的惯例。


查看完整回答
反对 回复 2019-06-03
  • 4 回答
  • 0 关注
  • 882 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信