高级函数之惰性加载函数

182 阅读1分钟

我们在写一些浏览器兼容的代码片段的时候是不是需要做当前设备的判断,我们可能会直接在执行的函数里边写当前浏览器是否支持当前方法.

那么问题来了,我们需要每次都判断么?

下面我写了一个惰性加载函数,就是首次判断一次.

代码如下:

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

是不是很简单.