在以下 JavaScript 代码中,有一个美元 ( $
) 符号。这是什么意思?
$(window).bind('load', function() {
$('img.protect').protectImage();
});
在以下 JavaScript 代码中,有一个美元 ( $
) 符号。这是什么意思?
$(window).bind('load', function() {
$('img.protect').protectImage();
});
您的代码片段看起来像是从一种流行的 JavaScript 库(jQuery、ProtoType、mooTools 等)中引用方法。
$
在 JavaScript 中使用 没有什么神秘的。$
只是一个有效的 JavaScript 标识符。
JavaScript 允许使用大小写字母、数字和$
和_
。在$
旨在用于机器生成的变量(如$0001
)。
Prototype、jQuery 和大多数 javascript 库都将$
用作主要的基础对象(或函数)。他们中的大多数人也有一种放弃 的方法,$
以便它可以与使用它的另一个库一起使用。在这种情况下,您使用jQuery
代替$
. 其实$
只是一个快捷方式jQuery
。
从另一个答案:
一点历史
请记住,$
. 它是一个变量名称,就像任何其他名称一样。早些时候,人们习惯于使用 document.getElementById 编写代码。因为 JavaScript 是区分大小写的,所以在编写document.getElementById
. 我应该资本'b'
的'by'
?我应该资本'i'
的Id?
你得到的漂移。因为函数是 JavaScript 中的一等公民,所以你总是可以这样做:
var $ = document.getElementById; //freedom from document.getElementById!
当 Prototype 库到达时,他们将获取 DOM 元素的函数命名为'$'
. 几乎所有的 JavaScript 库都复制了这个想法。Prototype 还引入了一个$$
使用 CSS 选择器选择元素的功能。
jQuery 还调整了$
功能,但进行了扩展以使其接受各种“选择器”以获取您想要的元素。现在,如果您已经在您的项目中使用 Prototype 并且想要包含 jQuery,那么您将遇到问题,因为'$'
可以参考 Prototype 的实现或 jQuery 的实现。这就是 jQuery 具有 noConflict 选项的原因,以便您可以在使用 Prototype 的项目中包含 jQuery 并缓慢迁移您的代码。我认为这对约翰来说是一个绝妙的举动!:)
这很可能是jQuery代码(更准确地说,是使用 jQuery 库的 JavaScript)。
The$
代表jQuery Function,实际上是jQuery
. (与大多数语言不同,$
符号不是保留的,可以用作变量名。)它通常用作选择器(即返回在 DOM 中找到的一组元素的函数)。
正如所有其他答案所说;它几乎可以是任何东西,但通常是“JQuery”。
但是,在 ES6 中,它是模板“文字”中的字符串插值运算符,例如。
var s = "new" ; // you can put whatever you think appropriate here.
var s2 = `There are so many ${s} ideas these days !!` ; //back-ticks not quotes
console.log(s2) ;
结果:
这些天有这么多新想法!
该$()
是简写版jQuery()
的中使用jQuery库。