其他分享
首页 > 其他分享> > 惰性载入函数

惰性载入函数

作者:互联网

惰性载入函数就是当第一次根据条件执行函数后,在第二次调用函数时,就不在检测条件,直接执行函数。我们可以在第一次条件判断的时候,在满足判断条件的的分支中覆盖掉所调用的函数。

实现方式

function addHandler(element, type, handler) {
    if (element.addEventListener) {
        addHandler = function (element, type, handler) {
            element.addEventListener(type, handler, false);
        };
    } else if (element.attachEvent) {
        addHandler = function (element, type, handler) {
            element.attachEvent("on" + type, handler);
        };
    } else {
        addHandler = function (element, type, handler) {
            element["on" + type] = handler;
        };
    }
    // 保证首次调用能正常执行监听
    return addHandler(element, type, handler);
}

也可以使用IIFE来实现惰性载入

const addHandler = (function () {
    if (document.addEventListener) {
        return function (element, type, handler) {
            element.addEventListener(type, handler, false);
        };
    } else if (document.attachEvent) {
        return function (element, type, handler) {
            element.attachEvent("on" + type, handler);
        };
    } else {
        return function (element, type, handler) {
            element["on" + type] = handler;
        };
    }
})();

标签:function,函数,addHandler,attachEvent,element,载入,handler,惰性,type
来源: https://www.cnblogs.com/zhenjianyu/p/13947834.html