0

下面,它说 $ 符号是指 jQuery。我需要帮助了解如何?

jQuery(function($){
    // Here `$` refers to jQuery
});
4

3 回答 3

3

当您像这样将函数传递给 jQuery 时:

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

这与使用 jQuery 的“文档就绪”处理程序相同:

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

然而,传递给该函数的参数实际上是全局 jQuery 对象本身——只是大多数此类处理程序从不使用该参数。因此,真正的签名是这样的:

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

因此,在该函数$中是全局 jQuery 对象的本地别名。变量名可以是您想要的任何名称,但$它是 的流行别名jQuery,并且是默认的全局别名,除非您调用jQuery.noConflict().

这在http://api.jquery.com/ready/的“给 jQuery 命名空间起别名”段落中有更详细的描述

于 2012-10-27T21:04:14.963 回答
0

只是一个例子,向你展示它是如何可能的

function externalLibrary(b) {
    if(typeof b === 'function') {
        b(externalLibrary);
    }else {
        // other stuff
    }

}

var myFunc = function(aliasOfExternalLibrary) {
    // here aliasOfExternalLibrary is a reference to externalLibrary
}
externalLibrary( myFunc );

jQuery做同样的事情(在一个更复杂的系统中)

于 2012-10-27T21:15:26.727 回答
0

该函数是所谓的异名函数,其中 jQuery 使用第一个参数 this 运行该异名函数。

所以只是为了理解它是这样的:

function jQuery(xx) {
    xx(this);
}
于 2012-10-27T21:01:42.447 回答