js 不用重复检测浏览器提高效率
更新时间:2011年05月25日 21:12:46 作者:
使用了两个匿名函数,仅在初始化时判断一次,后每次调用无须判断。效率相对高一些。
这里以拿 添加事件示例
// 方式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 采用这种分支写法。
复制代码 代码如下:
// 方式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 采用这种分支写法。
相关文章
Microsoft VBScript 编译器错误 错误原因 代码大全
这篇文章主要介绍了Microsoft VBScript 编译器错误 错误原因 代码大全,需要的朋友可以参考下2015-07-07
响应对象 错误 ''ASP 0185 : 80020003'' 缺少默认属性
发现个垃圾后台用了大量的Response.Cookies,导致后台认证出错。2007-12-12


最新评论