杉林的HelloWord 2014-07-12
$.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的属性,方法只能通过实例化对象调用(不能通过 类.属性,类.方法 调用)。