JavaScript中使用的$符号是什么?

Bab*_*ker 52 javascript jquery

我是一名JavaScript学习者,一直在研究这个问题,但没有成功.$除了正则表达式之外,JavaScript中使用的符号是什么?任何有关此的资源或读数将不胜感激. 谢谢.

Dea*_*ing 60

这并不意味着什么特别的.

但是因为$标识符名称允许,许多Javascript库已经$将它们用作它们的"中心"接口,或者至少作为访问其功能的快捷方式.

例如,如果您正在使用jQuery,并且您说$("div"),这是对$带有参数"div" 的函数的调用.当你说$.post(),它post$对象上调用方法(Javascript很好,因为函数是第一类对象).

  • $实际上包含在ECMA规范中,用于区分机器生成的代码和人工代码. (13认同)

Lau*_*nen 24

当我开始使用Prototype框架时,我在JavaScript中熟悉它.在Prototype中,$它只是一个经常使用的函数的名称(非常非常简化 - 一个简称document.getElementById).就个人而言,我喜欢它的简洁性.

Afaik,它不被语言本身用于任何东西.

对于它的价值,Douglas Crockford建议不要$写的变量/函数名中使用:

不要在名称中使用$(美元符号)或\(反斜杠).


从Crockford先生的演讲" 然后有JavaScript "中加入另一个相当自以为是的引用:

美元符号被添加到专门用于代码生成器和宏进程的语言中,因此如果您有机器编写代码,那么机器需要确信它们创建的变量不会与人类将要创建的变量冲突.为了区分它们,我们将允许机器使用美元符号.一些忍者发现了这一点并且认为哦,美元符号,我可以使用美元符号作为函数名称,所以他们在那里做那个.它看起来很愚蠢.我的意思是,看一下带有美元符号的程序.

  • @Babiker这取决于如何定义`$`(ECMAScript中没有定义函数"$"):`function $(){/*库做他们想要的*/} (5认同)

Gre*_*egL 9

如果你问为什么一些变量和函数名称开头$,那么这只是使用jQuery和/或AngularJS时的约定.

在使用jQuery的代码中,$通常用作包含jQuery选择的变量的前缀.例如var $container = $('.container');.

AngularJS中,他们使用$前缀来表示"核心角度功能".这样,您就知道框架添加了哪些方法和服务,以及哪些方法和服务是您的应用程序自定义的.