使用了两个匿名函数,仅在初始化时判断一次,后每次调用无须判断。效率相对高一些。

这里以拿 添加事件示例 代码如下: // 方式1 function addEvent(el, type, fn){ if(el.addEventListener){ el.addEventListener(type, fn, false); }else{ el.attachEvent(''on''+type, fn) } } // 方式2 var addEvent = document.addEventListener ? function(el, type, fn) {el.addEventL

作者: 来源: 时间: 17-11-23 16:05:40

这里以拿 添加事件示例
代码如下:
// 方式1
function addEvent(el, type, fn){
if(el.addEventListener){
el.addEventListener(type, fn, false);
}else{
el.attachEvent(''on''+type, fn)
}
}

// 方式2
var addEvent = document.addEventListener ?
function(el, type, fn) {el.addEventListener(type, fn, false);} :
function(el, type, fn) {el.attachEvent(''on''+type, fn)};


方式1在函数内做判断,每次给元素添加事件都需判断一次,效率相对低一些。
jQuery 1.6.1/Prototype 1.7/Mootools 1.3/tangram 1.3.6/reg.js/right.js都是采用这种分支方式。

方式2使用了两个匿名函数,仅在初始化时判断一次,后每次调用无须判断。效率相对高一些。
Ext/kissy/qwrap 采用这种分支写法。
11
22
33
隐藏区块

会员注册

本功能为预留功能,暂不支持注册 ^_^

Login

社交帐号登陆

使用以下任意帐号可登陆本站

Close section
Close

联系我们

关于5UCMS 您有任何需求 均可以留言给我们