首页 | 新闻 | 交流 | 问吧 | 文档 | 手册 | 下载 | 博客

浏览器分支写法探讨

作者:  时间: 2011-05-24

拿添加事件示例

// 方式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 采用这种分支写法。


作者: snandy 发表于 2011-05-24 10:12 原文链接

评论: 2 查看评论 发表评论


最新新闻:
· 盛大游戏原副总裁陈浩健加入昆仑万维(2011-05-24 11:19)
· Dropbox用户数一年翻5倍:坚持工程师少而精(2011-05-24 11:14)
· 落日Sun:曾经“炙烤”英特尔与微软(2011-05-24 11:10)
· 微软CEO鲍尔默今日访华(2011-05-24 11:02)
· Twitter针对消息转发和收藏推出电子邮件提醒(2011-05-24 10:53)

编辑推荐:上周热点回顾(5.16-5.22)

网站导航:博客园首页  我的园子  新闻  闪存  小组  博问  知识库