What is the difference between $ and $.fn?
我太好奇了解$和$.fn之间的区别? 有谁能详细解释一下这个问题? 什么是$.fn?
-
与stackoverflow.com/questions/4083351/what-does-jquery-fn-mean重复?
-
你看过stackoverflow.com/questions/2845981/…? 如果它没有回应告诉为什么!
-
在发布问题之前,请查看标记信息中的文档参考。
-
@EmmanuelGleizer:是的,我确实看到了这一点,但我期待着一些外行人很容易理解的例子/演示的解释! 希望你明白我的意思。
$是一个函数(具体地说,是指向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是什么意思?一个详细的例子