$是一个函数(具体来说,是指向jQuery函数的变量- 别名).$.fn是该函数的一个属性,它指向initjQuery用于创建实例的内部函数的原型,我们可以在jQuery代码中看到:
jQuery.fn.init.prototype = jQuery.fn;
Run Code Online (Sandbox Code Playgroud)
(这是当前未缩小的jQuery文件的第289行,v1.8.3.)
$.fn是这样,它很容易添加属性.当您创建jQuery对象时,由于JavaScript的原型继承,它们具有这些属性.当然,添加到它的最常见属性是执行操作的函数(jQuery插件).
$ .fn是包含所有$()函数的对象($ prototype).因此,如果您在$ .fn上定义一个函数,那么使用$()创建的每个jQuery集合都可以访问您的函数.jQuery插件是使用此方法创建的,例如:
定义:
$.fn.myPlugin = function(){...}
用法:
$(selector).myPlugin();