要深入了解人的方法只有一个,就是不急于下定论。——圣·普波
在js
中我们可以使用惰性函数,用于重新定义函数自身的行为
例如:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22
| function addEvent(type, el, fn) { if (window.addEventListener) { addEvent = function(type, el, fn) { el.addEventListener(type, fn, false); } } else if (window.attachEvent) { addEvent = function(type, el, fn) { el.attachEvent('on' + type, fn); } } else { addEvent = function(type, el, fn) { el['on' + type] = fn; } }
addEvent(type, el, fn); }
addEvent('click', document.getElementById('myElement'), function() { console.log('Element clicked'); });
|
这样做的好处是避免了每次都重复判断当前环境,例如浏览器厂商类型、内核版本等