插件接口的设计

来源:互联网 发布:网络剧张嘉倪孙尚香 编辑:程序博客网 时间:2024/05/18 02:15

1.基于插件接口设计的好处:把扩展的功能从主体框架中剥离出去,降低了框架的复杂度。
2.jQuery插件的开发分为两种:
①挂在jQuery命名空间下的全局函数,也称为静态方法
②jQuery对象级别的方法,即挂在jQuery原型下的方法,这样通过选择器获取的jQuery对象实例也能共享该方法
3.在JavaScript的世界中一共有四种上下文调用方式:
方法调用模式
函数调用模式
构造器调用模式
Apply调用模式
jQuery.extend调用的时候,上下文指向的是jQuery构造器,this是指向jQuery对象的(jQuery是函数,也是对象),所以这里扩展到jQuery上。
jQuery.fn.extend调用的时候,上下文指向的是jQuery构造器的实例对象,this指向fn对象,jQuery.fn和jQuery.prototype指向同一对象,扩展fn就是扩展jQuery.prototype原型对象。
//插件接口
ajQuery.extend = ajQuery.fn.extend = function(){
var options,src,copy,
target = argument[0] || {},
i = 1,
length = argument.length;

        //只有一个参数,就是对jQuery自身的扩展处理        //extend,fn.extend        if(i === length){            target = this;   //调用的上下文对象jQuery/或者实例            i--;        }        for(;i<length;i++){            //从i开始取参数,不为空开始遍历            if((options = argument[i]) != null ){                for(name in options){                    copy = options[name];                    //覆盖拷贝                    target[name] = copy;                }            }        }        return traget;    }    ajQuery.fn.extend({        setName:function(myName){            this.myName = myName            return this;        },        getName:function(){            $("#aaron").html(this.myName)            return this;        }    })    $$().setName('必胜必胜!').getName();
原创粉丝点击