我是一名 JavaScript 学习者,一直在研究这个问题,但没有成功。除了正则表达式之外,JavaScript 中的 $
符号有什么用途?欢迎提供任何相关资源或阅读材料。谢谢.
我是一名 JavaScript 学习者,一直在研究这个问题,但没有成功。除了正则表达式之外,JavaScript 中的 $
符号有什么用途?欢迎提供任何相关资源或阅读材料。谢谢.
这并没有什么特别的含义。
但因为在标识符名称中允许使用 $
,所以很多JavaScript库开始将其用作与它们交互的“中心”接口,或者至少用作访问其功能的快捷方式。
例如,如果你正在使用jQuery并且输入 $("div")
,这就是对带有参数 "div" 的 $
函数的调用。当你说 $.post()
时,它会调用 $
对象上的 post
方法(JavaScript中的函数是一等对象)。
当我开始使用Prototype框架时,我在JavaScript中认识了它。在Prototype中,$
只是一个经常使用的函数名称(非常简化——等同于document.getElementById
的缩写)。就个人而言,我喜欢它的简洁性。
据我所知,在语言本身中并没有为任何内容使用它。
值得一提的是,道格拉斯·克罗克福德建议你不要在变量/函数名称中使用$
:
不要在名称中使用$(美元符号)或 \(反斜杠)。
再引用一段相当主观的克罗克福德先生的话,摘自他的讲座《JavaScript的历史与未来》:
美元符号是专门为代码生成器和宏处理器添加的,因此如果您有机器编写代码,那么这些机器需要确信它们创建的变量不会与人类将要创建的变量冲突。为了区分它们,我们将允许机器使用美元符号。一些“忍者”发现了这一点,认为哦,美元符号,我可以将其用作函数名称,因此他们正在这样做。结果看起来很愚蠢。我的意思是,看看带有美元符号的程序。
$("someId")
和 document.getElementById("someId")
是一样的吗? - Babiker$
是如何定义的(在ECMAScript中没有名为"$"的函数):function $ () { /* libraries do what they want */ }
- user166390如果您想知道为什么一些变量和函数名以$
开头,那么这只是在使用jQuery和/或AngularJS时的一个约定。
在使用jQuery的代码中,$
通常用作包含jQuery选择器的变量的前缀。
例如: var $container = $('.container');
。
在AngularJS中,他们使用$
前缀表示“核心Angular功能”。 这样,您就可以知道哪些方法和服务是由框架添加的,哪些是您的应用程序自定义的。