2012-11-28 262 views
2

我很好奇,想知道$$.fn之间的区别吗?任何人都可以请详细解释这一点吗?另外什么是$.fn

+1

重复与http://stackoverflow.com/questions/4083351/什么 - 做 - jQuery的FN-是什么意思? –

+0

你看过http://stackoverflow.com/questions/2845981/jquery-difference-between-functionname-and-fn-functionname?如果它没有回应,请告诉我为什么! –

+0

在发布问题之前,请查看[tag info](http://stackoverflow.com/tags/jquery/info)中的文档参考资料。 –

回答

7

$是一个函数(具体来说,指向jQuery函数  —别名的变量)。 $.fn是对功能的属性,它指向内部init功能的jQuery使用创建实例,我们可以在jQuery代码见雏形:

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

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

$.fn是否有这个功能,以便于添加属性。当您创建jQuery对象时,由于JavaScript的原型继承,它们具有这些属性。当然,添加到它的最常见的属性是可以执行任务的函数(jQuery插件)。

1

fn属性是prototype属性的别名。

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

见问题:What does jQuery.fn mean?为一个详细的例子

5

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

定义:

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

用法:

$(selector).myPlugin();

相关问题