惰性加载函数

2018-01-01  本文已影响0人  孙新强

1.普通函数

缺点: 每次调用要重复判断

var addEvent = function( elem, type, handler ){ 
    if ( window.addEventListener ){
        return elem.addEventListener( type, handler, false );
    }
    if ( window.attachEvent ){
        return elem.attachEvent( 'on' + type, handler ); 
        
    }
};

2.避免每次重复判断

缺点:首次页面加载会进行一次判断,延缓页面首次加载数据onready

var addEvent = (function(){
    if ( window.addEventListener ){
        return function( elem, type, handler ){
            elem.addEventListener( type, handler, false );
        } 
        
    } 
    if ( window.attachEvent ){
        return function( elem, type, handler ){ 
            elem.attachEvent( 'on' + type, handler );
        } 
    }
})();

3.惰性加载

var addEvent = function( elem, type, handler ){
    if ( window.addEventListener ){
        addEvent = function( elem, type, handler ){
            elem.addEventListener( type, handler, false );
        }
    }else if ( window.attachEvent ){
        addEvent = function( elem, type, handler ){
            elem.attachEvent( 'on' + type, handler );
        }
    }
    addEvent( elem, type, handler ); 
};
上一篇 下一篇

猜你喜欢

热点阅读