我太好奇了解$
和$.fn
之间的区别?有谁能详细解释一下这个问题?什么是$.fn
?
答案 0 :(得分:7)
$
是一个函数(具体地说,是指向jQuery
函数的变量 - 别名)。 $.fn
是该函数的一个属性,它指向jQuery用于创建实例的内部init
函数的原型,正如我们在jQuery代码中看到的那样:
jQuery.fn.init.prototype = jQuery.fn;
(这是当前未缩小的jQuery文件的第289行,v1.8.3。)
$.fn
是这样的,因此很容易为其添加属性。当您创建jQuery对象时,由于JavaScript的原型继承,它们具有这些属性。当然,添加到它的最常见属性是执行操作的函数(jQuery插件)。
答案 1 :(得分:5)
$。fn是包含所有$()函数的对象($ prototype)。 因此,如果您在$ .fn上定义一个函数,那么使用$()创建的每个jQuery集合都可以访问您的函数。 jQuery插件是使用此方法创建的,例如:
定义:
$.fn.myPlugin = function(){...}
用法:
$(selector).myPlugin();
答案 2 :(得分:1)
fn
属性是prototype
属性的别名。
jQuery
标识符(或$
)只是一个构造函数,所有用它创建的实例都继承自构造函数的原型。
请参阅问题:What does jQuery.fn mean?了解详细示例