提问人:Sachin Kainth 提问时间:5/28/2012 更新时间:8/11/2020 访问量:94085
为什么 JQuery 到处都有美元符号?
Why does JQuery have dollar signs everywhere?
问:
我正在做一个项目,里面有相当多的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”更短,更易于阅读。
没有什么特别之处,只是传统上不用于启动变量或函数名称,这降低了风险或名称冲突。
评论
谷歌是你的朋友:$ sign JQuery
美元符号只是 JQuery 的别名。
jQuery(document).ready(function(){});
或
$(document).ready(function(){});
评论
$
sign 是 的别名。的简短版本,一种较少写入的机制。jQuery
jQuery
举个例子:(在jQuery中更复杂)
var yourFunction = function() {
alert('a function');
}
window.Myf = yourFunction;
现在,您可以调用以下内容:yourFunction
Myf(); // definitely a short syntax
$
只是jQuery
的快捷方式。这个想法是,一切都是用一个全局符号完成的(因为全局命名空间非常拥挤),但如果你愿意,你可以使用(因为它更短):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"
如果您不想使用别名,则不必使用。如果你不想成为 的别名,你可以使用 noConflict
,库将恢复到 jQuery 接管它之前的任何状态。(如果您还使用 Prototype 或 MooTools,则很有用。$
jQuery
$
评论
在 javascript 中,(单个美元字符)是有效的变量名。包括 jQuery 在内的几个框架已将其用作对象的同义词,该对象包含该框架提供的顶级便利方法。$
$ 符号用作 Jquery 的别名。 而不是使用 jquery.hide,jquery.show 我们可以使用别名 $ ($.hide) 因为我们经常使用这个词。“Jquery”不是一种方便的方法,因此我们使用别名 $。 如果我们想改变它,我们可以通过 noConflict 方法改变它 var Sample=$.noConflict()
可写性和性能
当我们在研究库或编程语言时,我们应该注意一些可写性规则。多亏了jQuery,他们已经实现了很多选项。你可以使用,或者你可以使用,或者你可以使用$
jQuery
_
(function (_) {
_("#wow").click()
})(jQuery);
或者,也许您可以进行花哨的更改,javascript 标识符是 unicode,因此您可以使用Ω
(function (Ω) {
Ω("#wow").click()
})(jQuery);
但其背后的主要思想是,按一次键盘比打字要好jQuery
另一方面,我们有性能......我只是随机打开我的一个项目并搜索,我在单个 javascript 文件中使用了 54。$
$
$
是一个字节。
jQuery
是 6 个字节。
差异是巨大的 54 * 5 = 220 字节。
评论
$
var $ = jQuery