jQuery中$和$()之间有什么区别

时间:2013-08-19 11:53:17

标签: javascript jquery

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

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

3 个答案:

答案 0 :(得分:1)

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

对象确实有构造函数。

致电$('#test');会产生jQuery('#test');

有关构造函数说明,请参阅此内容:Constructors in JavaScript objects

来自jQuery Source @github:

jQuery = function( selector, context ) {
    // The jQuery object is actually just the init constructor 'enhanced'
    return new jQuery.fn.init( selector, context, rootjQuery );
}

答案 1 :(得分:1)

$是对jQuery函数的引用(在您的情况下),因此这个条件只检查名为$的变量或函数是否对 true 进行评估。

示例:

function test() {
  // do something
}

if (test) {
}

表达式test引用该函数。

答案 2 :(得分:1)

根据jquery的代码:

window.jQuery = window.$ = jQuery;

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