js 不用重復檢測瀏覽器提高效率
更新時間:2011年05月25日 21:12:46 作者:
使用了兩個匿名函數(shù),僅在初始化時判斷一次,后每次調用無須判斷。效率相對高一些。
這里以拿 添加事件示例
// 方式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在函數(shù)內做判斷,每次給元素添加事件都需判斷一次,效率相對低一些。
jQuery 1.6.1/Prototype 1.7/Mootools 1.3/tangram 1.3.6/reg.js/right.js都是采用這種分支方式。
方式2使用了兩個匿名函數(shù),僅在初始化時判斷一次,后每次調用無須判斷。效率相對高一些。
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在函數(shù)內做判斷,每次給元素添加事件都需判斷一次,效率相對低一些。
jQuery 1.6.1/Prototype 1.7/Mootools 1.3/tangram 1.3.6/reg.js/right.js都是采用這種分支方式。
方式2使用了兩個匿名函數(shù),僅在初始化時判斷一次,后每次調用無須判斷。效率相對高一些。
Ext/kissy/qwrap 采用這種分支寫法。
相關文章
ASP 關于動態(tài)數(shù)據(jù)顯示頁面得錨點
ASP 關于動態(tài)數(shù)據(jù)顯示頁面得錨點...2007-09-09.Net core 的熱插拔機制的深入探索及卸載問題求救指南
這篇文章主要介紹了.Net core 的熱插拔機制的深入探索及卸載問題求救指南,本文給大家啊介紹的非常詳細,對大家的學習或工作具有一定的參考借鑒價值,需要的朋友可以參考下2020-11-11不用模板只用ASP+FSO生成靜態(tài)HTML頁的一個方法
不用模板只用ASP+FSO生成靜態(tài)HTML頁的一個方法...2006-09-09utf-8 網(wǎng)頁不顯示+utf-8網(wǎng)頁亂碼的通用解決方法
當我們在瀏覽或使用uft-8格式的頁面的時候,總有可能出現(xiàn)一些亂碼或不顯示的問題,下載就瀏覽器客戶端和服務器都有一些原因的分析與解決方法2008-10-10