性能优化之惰性函数
Posted lhlvs
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了性能优化之惰性函数相关的知识,希望对你有一定的参考价值。
我们正常封装一个兼容的绑定事件函数会这样写:
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); } } }
直接在函数内部重写这个函数。
以上是关于性能优化之惰性函数的主要内容,如果未能解决你的问题,请参考以下文章
函数式编程的Java编码实践:利用惰性写出高性能且抽象的代码