123

我正在开发一个包含大量 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 的可怕日子,不得不在不知道为什么这样做的情况下到处放括号。

4

7 回答 7

178

$只是一个快捷方式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"

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

于 2012-05-28T15:55:37.457 回答
13

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

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

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

window.Myf = yourFunction;

现在你可以yourFunction这样调用:

Myf(); // definitely a short syntax
于 2012-05-28T15:55:10.403 回答
12

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

没有什么特别的,只是它传统上不用于启动变量或函数名称,这降低了风险或名称冲突。

于 2012-05-28T15:54:21.867 回答
11

可写性和性能


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

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

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

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

但其背后的主要思想是,按一次键盘比打字好jQuery


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

$是一个字节。

jQuery是 6 个字节。

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

于 2016-02-23T16:22:57.413 回答
6

谷歌是你的朋友: $ 符号 JQuery

美元符号只是 JQuery 的别名。

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

或者

$(document).ready(function(){});
于 2012-05-28T15:55:02.350 回答
4

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

于 2012-05-28T15:57:24.070 回答
1

$ 符号用作 Jquery 的别名。而不是使用 jquery.hide,jquery.show 每个我们可以使用别名 $ ($.hide) 因为我们使用这个词很多次。'Jquery' 不是一个方便的方法,所以我们使用别名 $。如果我们想改变它,我们可以通过 noConflict 方法改变它 var Sample=$.noConflict()

于 2015-06-25T04:25:12.657 回答