js函數(shù)的延遲加載實現(xiàn)代碼
更新時間:2012年10月11日 22:52:17 作者:
延遲加載的函數(shù),第一次調(diào)用后,會覆蓋原來的老函數(shù),以后再次調(diào)用的是新函數(shù),不會再進行條件的判斷,提升效率
復(fù)制代碼 代碼如下:
//非延遲加載的函數(shù),每次調(diào)用都會進行條件判斷
function removeHandler(target,eventType,handler) {
if(target.removeEventListener) {
target.removeEventListener(eventType,handler,false);
}else {
target.detachEvent("on"+eventType,handler);
}
}
//延遲加載的函數(shù),第一次調(diào)用后,會覆蓋原來的老函數(shù),以后再次調(diào)用的是新函數(shù),不會再進行條件的判斷,提升效率
function addHandler(target,eventType,handler) {
if(target.addEventListener) {
addHandler = function(target,eventType,handler){
target.addEventListener(eventType,handler,false);
}
}else{
addHandler = function(target,eventType,handler){
target.attachEvent("on"+eventType,handler);
}
}
addHandler(target,eventType,handler);
}
//條件預(yù)加載
//條件預(yù)加載確保所有函數(shù)調(diào)用時間相同。其代價是在腳本加載時進行檢測。預(yù)加載適用于一個函數(shù)馬上就會被用到,而且在整個頁面生命周期中經(jīng)常使用的場合。
var addEventHandler = document.body.addEventListener ? function(target,eventType,handler) {
target.addEventListener(eventType,handler,false);
} : function(target,eventType,handler) {
target.attachEvent("on"+eventType,handler);
}
相關(guān)文章
javascript實現(xiàn)節(jié)點(div)名稱編輯
這篇文章主要介紹了js實現(xiàn)節(jié)點(div)名稱編輯,需要的朋友可以參考下2014-12-12
JavaScript實現(xiàn)將數(shù)組中所有元素連接成一個字符串的方法
這篇文章主要介紹了JavaScript實現(xiàn)將數(shù)組中所有元素連接成一個字符串的方法,涉及javascript中采用join方法進行數(shù)組轉(zhuǎn)化的技巧,非常具有實用價值,需要的朋友可以參考下2015-04-04
JavaScript使用html2canvas實現(xiàn)截取HTML并生成圖片
在前端開發(fā)中,有時我們需要將網(wǎng)頁的一部分或整個頁面截取并保存為圖片,這在生成報告、分享內(nèi)容或保存用戶界面狀態(tài)等場景中非常有用,本文將介紹如何使用 JavaScript 庫 html2canvas 來實現(xiàn)這一功能,并提供一個完整的示例,需要的朋友可以參考下2024-10-10
JavaScript中防抖和節(jié)流的區(qū)別及適用場景
這篇文章主要介紹了JavaScript中防抖和節(jié)流的區(qū)別及適用場景,文章通過圍繞主題的相關(guān)資料展開詳細的內(nèi)容介紹,具有一定的參考價值,需要的小伙伴可以參考一下2022-05-05
微信小程序開發(fā)之實現(xiàn)食堂點餐系統(tǒng)
這篇文章主要為大家詳細介紹了如何通過微信小程序開發(fā)一個簡單的食堂點餐系統(tǒng),文中的示例代碼講解詳細,感興趣的小伙伴可以和小編一起學(xué)習(xí)一下2023-01-01

