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

我正在进行一个项目,其中包含了相当多的 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 的那些可怕的日子,我不得不在任何地方放上括号,却不知道自己为什么要这么做。

91540 次浏览

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

没有什么特别之处,只是传统上不用它来启动变量或函数名,这样可以减少风险或名称冲突。

谷歌是你的朋友: $ sign JQuery

美元符号只是 JQuery 的别名。

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

或者

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

$ sign is an alias for jQuery. A short version of jQuery, a less write mechanism.

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

var yourFunction = function() {
alert('a function');
}


window.Myf = yourFunction;

现在你可以打电话给 yourFunction,比如:

Myf(); // definitely a short syntax

$ is just a shortcut for jQuery. The idea is that 一切 is done with the one global symbol (since the global namespaces is ridiculously crowded), jQuery, but you can use $ (because it's shorter) if you like:

// 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的别名,那么可以使用 noConflict,这个库将把 $恢复到 jQuery 接管它之前的状态。(如果您也使用 Prototype 或 MooTools,则非常有用。)

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

$sign 用作 Jquery 的别名。 不使用 jquery.hide,jquery.show 在每个可以使用别名 $($. hide)的地方显示 因为我们经常用这个词。‘ Jquery’不是一种方便的方式,因此我们使用了别名 $。 如果我们想要改变它,我们可以通过非冲突方法来改变它 Var Sample = $. noPulse ()

可写性与性能


在使用库或编程语言时,我们应该注意一些可写性规则。多亏了 jQuery,他们已经实现了很多选项。你可以使用 $或者你可以使用 jQuery或者你可以使用 _

(function (_) {
_("#wow").click()
})(jQuery);

或者也许你可以做一些花哨的改变,javascript 标识符是 unicode,所以你可以使用 Ω

(function (Ω) {
Ω("#wow").click()
})(jQuery);

但其背后的主要思想,按键盘一次比输入 jQuery更好


另一方面,我们有性能... 我只是随机打开我的一个项目,并搜索 $,我使用54个 $在一个单一的 javascript 文件。

$是一个字节。

jQuery是6字节。

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