【jquery】$.fn 与 $.fx 的却别

$.fn是指jquery的命名空间,加上fn上的方法及属性,会对jquery实例每一个有效。
如扩展$.fn.abc()
那么你可以这样子:$("#div").abc();
通常使用jQuery.extend方法扩展,详细请看API.

$.fx是指jquery的特效。
如果使用显示、滑动、淡入淡出、动画等。
$.fx.off可以关闭动画,其实是直接显示结果。

jquery的extend和fn.extend
jQuery为开发插件提供了两个方法,分别是:
jQuery.extend(object)       //为扩展jQuery类本身,为类添加新方法,添加后可使用$.新方法()来调用
jQuery.fn.extend(object);   //给jQuery实例对象添加方法

那fn是什么东西呢?查看jQuery代码,就不难发现。
jQuery.fn = jQuery.prototype = { 
   init : funciton(selector, context){ //....};
}

总结两点:
1. JavaScript的静态属性,静态方法只能通过 类.静态属性,类.静态方法 调用(不能通过实例化对象调用,跟Java不一样)。
2. JavaScript prototype的属性,方法只能通过实例化对象调用(不能通过 类.属性,类.方法 调用)。

相关推荐