我很好奇 $
和 $.fn
之间的区别是什么?有人可以详细解释一下吗?另外,$.fn
是什么?
我很好奇 $
和 $.fn
之间的区别是什么?有人可以详细解释一下吗?另外,$.fn
是什么?
$
是一个函数(具体来说是指向 jQuery
函数的变量,即其别名)。$.fn
是该函数的一个属性,它指向 jQuery 内部使用的创建实例的 init
函数的原型,正如我们在 jQuery 代码中看到的:
jQuery.fn.init.prototype = jQuery.fn;
那是当前未压缩的jQuery文件(v1.8.3)中的第289行。
$.fn
存在是为了方便向其中添加属性。当你创建jQuery对象时,它们具有这些属性,因为JavaScript使用原型继承。最常添加到其中的属性当然是执行某些操作的函数(jQuery插件)。
$.fn是包含所有$()函数($原型)的对象。 因此,如果您在$.fn上定义一个函数,则使用$()创建的每个jQuery集合都可以访问该函数。 jQuery插件是使用此方法创建的,例如:
定义:
$.fn.myPlugin = function(){...}
用法:
$(选择器).myPlugin();
fn
属性是 prototype
属性的别名。
jQuery
标识符(或 $
)只是一个构造函数,使用它创建的所有实例都继承自构造函数的原型。
有关详细示例,请参见问题:jQuery.fn 是什么意思?