JavaScript中“ $”符号的含义是什么

2020/10/24 00:01 · javascript ·  · 0评论

在以下JavaScript代码中,有一个美元$符号)。这是什么意思?

$(window).bind('load', function() {
    $('img.protect').protectImage();
});

您的代码段看起来像是来自一种流行的JavaScript库(jQuery,ProtoType,mooTools等)的引用方法。

$在JavaScript中使用它没有什么神秘之处$只是一个有效的JavaScript标识符。

JavaScript允许使用上下字母,数字和$_$旨在用于机器生成的变量(如$0001)。

原型,jQuery和大多数javascript库都将$用作主要基础对象(或函数)。他们中的大多数人也有放弃$的方法,以便可以与使用它的另一个库一起使用。在这种情况下,您可以使用jQuery代替$实际上,$这只是的快捷方式jQuery

另一个答案

一点历史

请记住,并没有什么本质上的特殊之处$就像其他变量一样,它是一个变量名。在早期,人们曾经使用document.getElementById编写代码。由于JavaScript区分大小写,因此在编写时犯错误是正常的document.getElementById我应该资本'b''by'我应该资本'i'Id?你得到的漂移。由于函数是JavaScript中的一等公民,因此您始终可以执行以下操作:

var $ = document.getElementById; //freedom from document.getElementById!

当原型库到达时,他们将其函数命名为函数,该函数获取DOM元素,如'$'几乎所有的JavaScript库都复制了这个想法。原型还引入了$$使用CSS选择器选择元素功能。

jQuery还改编了$功能,但对其进行了扩展,使其可以接受各种“选择器”来获取所需的元素。现在,如果您已经在项目中使用Prototype并希望包含jQuery,则可能会遇到麻烦,因为'$'它们可能引用Prototype的实现或jQuery的实现。这就是jQuery具有noConflict选项的原因,因此您可以在使用Prototype的项目中包含jQuery并缓慢迁移代码。我认为这对约翰来说是一个绝妙的举动!:)

那是最有可能的jQuery代码(更确切地说是使用jQuery库的JavaScript)。

$代表jQuery的功能,实际上是一个速记别名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库

除了以上答案外,$在javascript中没有特殊含义,可自由用于对象命名。jQuery中,它只是用作jQuery对象和jQuery()函数的别名但是,您可能会遇到要与另一个也使用$的JS库一起使用的情况,这将导致命名冲突。正是出于这个原因,JQuery中有一个方法jQuery.noConflict()

这是jQuery文档的示例

<script src="other_lib.js"></script>
<script src="jquery.js"></script>
<script>
$.noConflict();
// Code that uses other library's $ can follow here.
</script>

或者,您也可以使用这样的

(function ($) {
// Code in which we know exactly what the meaning of $ is
} (jQuery));

参考https : //api.jquery.com/jquery.noconflict/

从描述jQuery Core Object的jQuery文档中

许多开发人员在包含jQuery对象的变量名称前添加$,以帮助区分。这种做法没有什么神奇之处–它只是帮助某些人跟踪不同变量包含的内容。

本文地址:http://javascript.askforanswer.com/javascriptzhong-fuhaodehanyishishenme.html
文章标签:
版权声明:本文为原创文章,版权归 javascript 所有,欢迎分享本文,转载请保留出处!

文件下载

老薛主机终身7折优惠码boke112

上一篇:
下一篇:

评论已关闭!