Discuz教程网

js 不用重复检测浏览器提高效率

[复制链接]
authicon dly 发表于 2011-9-8 20:13:36 | 显示全部楼层 |阅读模式
这里以拿 添加事件示例  // 方式1
  1. function addEvent(el, type, fn){
  2. if(el.addEventListener){
  3. el.addEventListener(type, fn, false);
  4. }else{
  5. el.attachEvent('on'+type, fn)
  6. }
  7. }
复制代码

// 方式2

  1. var addEvent = document.addEventListener ?
  2. function(el, type, fn) {el.addEventListener(type, fn, false);} :
  3. 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 采用这种分支写法。



上一篇:asp Fix、Int、Round、CInt函数使用说明
下一篇:asp文本框换行显示代码
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

1314学习网 ( 浙ICP备10214163号 )

GMT+8, 2025-5-2 18:23

Powered by Discuz! X3.4

© 2001-2013 Comsenz Inc.

快速回复 返回顶部 返回列表