1

根据 jQuery API,我看到这$()是匹配元素的集合。但什么是$imagesLoaded下面的库中的示例。

if ( $ ) {
  $.fn.imagesLoaded = function( options, callback ) {
    var instance = new ImagesLoaded( this, options, callback );
    return instance.jqDeferred.promise( $(this) );
  };
}
4

3 回答 3

1

$正在引用jQuery Object, 就像别名一样。

对象确实有构造函数。

调用$('#test');结果jQuery('#test');

有关构造函数的说明,请参阅此内容:JavaScript 对象中的构造函数

来自 jQuery 源代码@github:

jQuery = function( selector, context ) {
    // The jQuery object is actually just the init constructor 'enhanced'
    return new jQuery.fn.init( selector, context, rootjQuery );
}
于 2013-08-19T11:56:36.980 回答
1

$是对 jQuery 函数的引用(在您的情况下),因此此条件仅检查名为的变量或函数是否$计算为true

例子:

function test() {
  // do something
}

if (test) {
}

表达式test引用函数。

于 2013-08-19T11:56:42.153 回答
1

根据jquery的代码:

window.jQuery = window.$ = jQuery;

所以$实际上是一个指向jQuery全局对象的指针。

于 2013-08-19T11:57:07.840 回答