使用IIFE(立即调用函数)的小技巧

30 阅读1分钟
let addEvent;
if(ele.addEventListener){
    addEvent = function (ele, eventName, hander) {
        ele.addEventListener(eventName, hander)
    }
    
}else if(ele.attachEvent){
    //旧版IE使用
    addEvent = function (ele, eventName, hander) {
        ele.attachEvent('on'+ eventName ,hander)
    }
}else{
    addEvent = function (ele, eventName, hander) {
        ele['on'+ eventName] = hander
    }
}

//使用IIFE
let addEventIIFE = (function(){
    if(ele.addEventListener){
        return function (ele, eventName, hander) {
            ele.addEventListener(eventName, hander)
        }
    }else if(ele.attachEvent){
        return function (ele, eventName, hander) {
            ele.attachEvent('on'+ eventName ,hander)
        }   
    }else{
        return function (ele, eventName, hander) {
            ele['on'+ eventName] = hander
        }
    }
})()