我们正常封装一个兼容的绑定事件函数会这样写:
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); } } }
直接在函数内部重写这个函数。
如对本文有疑问, 点击进行留言回复!!
Parallels Desktop v15.1.4-47270 商业版下载 Mac安装Windows首选虚拟机
关于LPC824Lite开发板下载程序时提示"Invalid ROM Table"
MySQL 5.7 关于 JSON 类型的子集Key/Value获取方法分享
javascript从入门到跑路-----小文的js学习笔记(19)------- js的垃圾回收机制
网友评论