$和$ .fn有什么区别?

时间:2012-11-28 11:30:02

标签: jquery

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

3 个答案:

答案 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?了解详细示例