惰性函数

概念及用处
  • 惰性函数是针对优化频繁使用的函数
  • 它常用于函数库的编写、单例模式中
示例1

要求:编写一个函数test,以后每次执行,返回第一次执行时候创建的new Date().getTime()

function test() {
    var t = new Date().getTime();
    test = function () {
        return t;
    }
    return test();
}
示例2

要求:封装一个addEvent函数,具有较好的兼容性

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

简单的说,惰性函数就是在函数第一次执行的时候,就改变了函数本身内容,以后每次执行,都是执行新函数的代码。

你可能感兴趣的:(惰性函数)