性能优化之惰性函数

2019-05-08 07:25:14来源:博客园 阅读 ()

新老客户大回馈,云服务器低至5折

我们正常封装一个兼容的绑定事件函数会这样写:

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

看起来没什么问题, 但是, 既然我们封装了这样一个函数, 那我们肯定会频繁调用它,

每次调用都走一次if 判断   , 性能就会降低,  

那我们就要想一个办法  , 只在第一次调用时判断一次, 后面再次调用就不用判断了,  

这就是惰性函数的用法:

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

直接在函数内部重写这个函数。

 


原文链接:https://www.cnblogs.com/LHLVS/p/10816035.html
如有疑问请与原作者联系

标签:

版权申明:本站文章部分自网络,如有侵权,请联系:west999com@outlook.com
特别注意:本站所有转载文章言论不代表本站观点,本站所提供的摄影照片,插画,设计作品,如需使用,请与原作者联系,版权归原作者所有

上一篇:ES6的强大变量声明

下一篇:javascript(六)运算符