function bindEvent(obj,type,callback){
if(window.attachEvent){
bindEvent =function(obj,type,callback){
obj.attachEvent('on'+type,callback);
}
bindEvent(obj,type,callback);
}
else if(window.addEventListener){
bindEvent =function(obj,type,callback){
obj.addEventListener(type,callback);
}
bindEvent(obj,type,callback);
}
if(window.attachEvent){
bindEvent =function(obj,type,callback){
obj.attachEvent('on'+type,callback);
}
bindEvent(obj,type,callback);
}
else if(window.addEventListener){
bindEvent =function(obj,type,callback){
obj.addEventListener(type,callback);
}
bindEvent(obj,type,callback);
}
}
1 惰性加载
2 首次执行时修正函数。
首先,如果bindEvent不被执行,那么就不修改他的值,也可以写一个立即执行函数主动修正bindEvent。
bindEvent函数首次执行时进行修正,对需要大量绑定事件的情况,这是很大的优化,因为不需要每次都做判断。