为什么JQuery到处都有美元符号?

为什么JQuery到处都有美元符号?,jquery,Jquery,我正在做一个有很多JQuery的项目。例如,JQuery到处都有许多$符号 $(document).ready(function () { $('input[type=file]').wl_File({ url: '/Admin/PolicyInventory/UploadDocuments', onFileError: function (error, fileobj) { $.msg('file

我正在做一个有很多JQuery的项目。例如,JQuery到处都有许多$符号

$(document).ready(function () {
        $('input[type=file]').wl_File({
            url: '/Admin/PolicyInventory/UploadDocuments',
            onFileError: function (error, fileobj) {
                $.msg('file is not allowed: ' + fileobj.name, {
                    header: error.msg + ' Error ',
                    live: 10000
                });
            }
        });
...

我的问题是,这个美元符号是什么意思?为什么到处都在使用它?我如何理解和解释它?它让我想起了我在大学里学习Scheme时的可怕日子,我不得不在不知道为什么要这么做的情况下到处放括号。

它只是一个方便的字符,比“jQuery”更短,更容易阅读

没有什么特别的,除了它传统上不用于启动变量或函数名,这可以减少风险或名称冲突。

谷歌是你的朋友:

美元符号只是JQuery的别名

jQuery(document).ready(function(){});


$
符号是
jQuery
的别名。
jQuery
的一个简短版本,一种更少的写入机制

举个例子:(在jQuery中更复杂)

现在,您可以调用
您的函数
如下:

Myf(); // definitely a short syntax

$
只是一个快捷方式。其思想是,所有的都是用一个全局符号来完成的(因为全局名称空间非常拥挤),
jQuery
,但是如果您愿意,您可以使用
$
(因为它比较短):

// These are the same barring your using noConflict (more below)
var divs = $("div");       // Find all divs
var divs = jQuery("div");  // Also find all divs, because
console.log($ === jQuery); // "true"

如果不想使用别名,则不必这样做。如果您不希望
$
成为
jQuery
的别名,您可以使用,并且库将
$
恢复到jQuery接管之前的状态。(如果您还使用Prototype或MooTools,则很有用。)

在javascript中,
$
(一个美元字符)是有效的变量名。一些框架(包括jQuery)将其作为对象的同义词,该对象包含框架提供的顶级便利方法。

$sign用作jQuery的别名。 jquery.show不是使用jquery.hide,而是显示每个可以使用别名$($.hide)的位置 因为我们已经多次使用这个词了。”Jquery’将不是一种方便的方式,因此我们使用别名$。 如果我们想改变它,我们可以用无冲突的方法来改变它 var Sample=$.noConflict()

可写性和性能
当我们研究库或编程语言时,我们应该注意一些可写性规则。多亏了jQuery,他们已经实现了很多选项。您可以使用
$
jQuery

(function (_) {
    _("#wow").click()
})(jQuery);
或者你可以做一些奇特的改变,javascript标识符是unicode的,所以你可以使用
Ω

(function (Ω) {
    Ω("#wow").click()
})(jQuery);
但它背后的主要思想是,按一次键盘比键入
jQuery


另一方面,我们有表现。。。我只是随机打开一个项目,搜索
$
,在一个javascript文件中使用了54个
$

$
是一个字节

jQuery
是6个字节


差异是巨大的54*5=220字节。

这个
$
是jquery对象的别名,wow和Mizz有你需要知道的一切关于它的可能重复的
var$=jquery
FYI:似乎给出了相同的搜索结果,这意味着谷歌实际上不允许美元作为搜索词,除非你使用另一种语言,比如PHP,使用HTMLdocs在你的站点中填充javascript,在这一点上,美元符号的另一个作用是打破一切,因为PHP使用美元符号启动所有变量。(这是一个原因,如果你共享jQuery脚本以供broad net使用,那么使用jQuery而不是$)如果你投了反对票,请不要自私地告诉我我做错了什么。这样,如果有错误,我就可以改正!就速度而言,220字节实际上不会产生任何显著的差异。而且,它不会只占用220字节,因为代码必须经过V8 JS引擎(或其他引擎),我们不知道它为不同的东西分配了多少。@GarrettSmith我刚才说的是网络成本。$或jQuery的执行几乎是一样的。如果人们试图少写一些东西,并普遍应用该规则,那么就会得到不可读的代码。但我认为JavaScript开发人员认为不可读代码是一种好处,因为它提供了作业安全性。
(function (_) {
    _("#wow").click()
})(jQuery);
(function (Ω) {
    Ω("#wow").click()
})(jQuery);