美文网首页
惰性加载函数

惰性加载函数

作者: 孙新强 | 来源:发表于2018-01-01 15:29 被阅读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 ); 
};

相关文章

  • 惰性加载函数

    1.普通函数 缺点: 每次调用要重复判断 2.避免每次重复判断 缺点:首次页面加载会进行一次判断,延缓页面首次加载...

  • 惰性加载函数

    1.常规 缺点:每次调用都会执行条件判断,可避免 2.改进,只在加载时做判断 缺点:虽避免了判断,但如果从未使用过...

  • 惰性加载函数

    处理 IE 兼容性问题时,一般会进行一些嗅探操作,如何更好的解决这个问题呢? 例如下面自定义绑定事件函数: 标准写...

  • JS性能优化之惰性加载函数

    前端开发不可避免的会有跨浏览器的需求,为了兼容各浏览器,绝大时候我们的处理方式都是用几个if...else或者tr...

  • django源码分析之惰性加载(lazy和LazyObject)

    惰性加载 惰性加载是一种延迟计算的技术,当只有真正需要使用结果的时候才会去计算。Django提供了两种惰性加载模块...

  • Scala关键字lazy的理解和使用

    Scala中使用关键字lazy来定义惰性变量,实现延迟加载(懒加载)。惰性变量只能是不可变变量,并且只有在调用惰性...

  • 高阶函数--实现AOP,函数节流,分时函数,惰性加载函数

    高阶函数是指至少满足下列条件之一的函数。 函数可以作为参数被传递; 函数可以作为返回值输出。 JavaScript...

  • 惰性函数

    今天啊看到一篇讲js性能优化---惰性函数的文章,之前没听过这个。 主要应用在提高js的执行效能上,主要也是应用在...

  • 惰性函数

    惰性函数按照《高程》里面讲解,主要用来屏蔽浏览器之间的差异。其实,也可以用来实现单例。所以惰性函数主要的作用:环境...

  • 惰性函数

    惰性函数它比较懒,不会立即执行。只有需要的时候才去执行创建或加载一些资源对象。举个简单的例子。最近登录流行微信登录...

网友评论

      本文标题:惰性加载函数

      本文链接:https://www.haomeiwen.com/subject/ylytnxtx.html