js函數(shù)的延遲加載實現(xiàn)代碼
更新時間:2012年10月11日 22:52:17 作者:
延遲加載的函數(shù),第一次調(diào)用后,會覆蓋原來的老函數(shù),以后再次調(diào)用的是新函數(shù),不會再進行條件的判斷,提升效率
復制代碼 代碼如下:
//非延遲加載的函數(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);
}
//條件預加載
//條件預加載確保所有函數(shù)調(diào)用時間相同。其代價是在腳本加載時進行檢測。預加載適用于一個函數(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)文章
創(chuàng)建、調(diào)用JavaScript對象的方法集錦
這篇文章主要介紹了創(chuàng)建、調(diào)用JavaScript對象的方法集錦,需要的朋友可以參考下2014-12-12
基于BootstrapValidator的Form表單驗證(24)
這篇文章主要為大家詳細介紹了基于BootstrapValidator的Form表驗證,具有一定的參考價值,感興趣的小伙伴們可以參考一下2016-12-12
uni-app使用uploadFile上傳多張圖片的具體實現(xiàn)
在微信小程序中不支持多張圖片上傳,需要做循環(huán)實現(xiàn)多張圖片上傳,下面這篇文章主要給大家介紹了關(guān)于uni-app使用uploadFile上傳多張圖片的具體實現(xiàn),需要的朋友可以參考下2023-04-04
JS實現(xiàn)基于Sketch.js模擬成群游動的蝌蚪運動動畫效果【附demo源碼下載】
這篇文章主要介紹了JS實現(xiàn)基于Sketch.js模擬成群游動的蝌蚪運動動畫效果,涉及Sketch.js插件的使用及HTML5元素的應(yīng)用技巧,并附帶demo源碼供讀者下載參考,需要的朋友可以參考下2017-08-08
three.js中g(shù)sap動畫庫實現(xiàn)物體的動畫
本文主要介紹了three.js中g(shù)sap動畫庫實現(xiàn)物體的動畫,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友們下面隨著小編來一起學習學習吧2023-07-07

