"$和$.fn有什么区别?"

4

我很好奇 $$.fn 之间的区别是什么?有人可以详细解释一下吗?另外,$.fn 是什么?


1
请勿重复,已有类似问题:https://dev59.com/om855IYBdhLWcg3w6IzV? - Samuel Caillerie
你看过这个网址吗:https://dev59.com/SHE85IYBdhLWcg3wSxkv?如果没有回应,告诉我为什么! - Emmanuel Gleizer
在发布问题之前,请查看 tag info 中的文档参考资料。 - Alberto De Caro
@EmmanuelGleizer:是的,我确实看到了那个,但我期待着一些用例/演示的解释,这些用例/演示非常易于普通人理解!希望你明白我的意思。 - palaѕн
这回答了你的问题吗?jQuery.fn是什么意思? - Sire
3个回答

9

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

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

那是当前未压缩的jQuery文件(v1.8.3)中的第289行。

$.fn 存在是为了方便向其中添加属性。当你创建jQuery对象时,它们具有这些属性,因为JavaScript使用原型继承。最常添加到其中的属性当然是执行某些操作的函数(jQuery插件)。


5

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

定义:

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

用法:

$(选择器).myPlugin();


1

fn 属性是 prototype 属性的别名。

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

有关详细示例,请参见问题:jQuery.fn 是什么意思?


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接