关于jquery:$和$ .fn有什么区别?

What is the difference between $ and $.fn?

我太好奇了解$$.fn之间的区别? 有谁能详细解释一下这个问题? 什么是$.fn


$是一个函数(具体地说,是指向jQuery函数的变量—别名)。 $.fn是该函数的一个属性,它指向jQuery用于创建实例的内部init函数的原型,我们可以在jQuery代码中看到:

1
jQuery.fn.init.prototype = jQuery.fn;

(这是当前未缩小的jQuery文件的第289行,v1.8.3。)

$.fn是这样的,因此很容易为其添加属性。当您创建jQuery对象时,由于JavaScript的原型继承,它们具有这些属性。当然,添加到它的最常见属性是执行操作的函数(jQuery插件)。


$ .fn是包含所有$()函数的对象($ prototype)。
因此,如果您在$ .fn上定义一个函数,那么使用$()创建的每个jQuery集合都可以访问您的函数。 jQuery插件是使用此方法创建的,例如:

定义:

$.fn.myPlugin = function(){...}

用法:

$(selector).myPlugin();


fn属性是prototype属性的别名。

jQuery标识符(或$)只是一个构造函数,所有使用它创建的实例都继承自构造函数的原型。

看问题:jQuery.fn是什么意思?一个详细的例子