web开发中,浏览器的实现差异,一些嗅探工作时不可避免的
比如通用的事件绑定函数addEvent
var addEvent = function (elem, type, handler) {
if (window.addEventListener) {
addEvent = function (elem, type, handler) {
elem.addEventListener(type, handler, false)
}
} else if (window.attachEvent) {
addEvent = function (elem, type, handler) {
elem.attachEvent('on' + type, handler)
}
}
addEvent(elem, type, handler);
}
addEvent(box, 'click', function () { })
addEvent(box, 'click', function () { })
在第一次进入条件分支之后,函数内部重写这个函数,
下次进入的时候不再存在条件分支,
第二次就可以不判断了,就是惰性加载函数