根据jQuery API,我看到$()
是匹配元素的集合。但是什么是$
?以下imagesLoaded
库中的示例。
if ( $ ) {
$.fn.imagesLoaded = function( options, callback ) {
var instance = new ImagesLoaded( this, options, callback );
return instance.jqDeferred.promise( $(this) );
};
}
答案 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 全局对象的指针。