js函数的延迟加载实现代码


Posted in Javascript onOctober 11, 2012
//非延迟加载的函数,每次调用都会进行条件判断 
function removeHandler(target,eventType,handler) { 
if(target.removeEventListener) { 
target.removeEventListener(eventType,handler,false); 
}else { 
target.detachEvent("on"+eventType,handler); 
} 
} 
//延迟加载的函数,第一次调用后,会覆盖原来的老函数,以后再次调用的是新函数,不会再进行条件的判断,提升效率 
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); 
} 
//条件预加载 
//条件预加载确保所有函数调用时间相同。其代价是在脚本加载时进行检测。预加载适用于一个函数马上就会被用到,而且在整个页面生命周期中经常使用的场合。 
var addEventHandler = document.body.addEventListener ? function(target,eventType,handler) { 
target.addEventListener(eventType,handler,false); 
} : function(target,eventType,handler) { 
target.attachEvent("on"+eventType,handler); 
}
Javascript 相关文章推荐
第一个JavaScript入门基础 document.write输出
Feb 22 Javascript
js仿淘宝和百度文库的评分功能
May 15 Javascript
如何在JS中实现相互转换XML和JSON
Jul 19 Javascript
Angular 2.x学习教程之结构指令详解
May 25 Javascript
微信小程序点击控件修改样式实例详解
Jul 07 Javascript
JS库之Particles.js中文开发手册及参数详解
Sep 13 Javascript
Vue项目History模式404问题解决方法
Oct 31 Javascript
微信小程序下拉框功能的实例代码
Nov 06 Javascript
小程序云开发如何实现图片上传及发表文字
May 17 Javascript
微信小程序动画组件使用解析,类似vue,且更强大
Aug 01 Javascript
Vue组件间通信 Vuex的用法解析
Aug 05 Javascript
使用AutoJs实现微信抢红包的代码
Dec 31 Javascript
javascript中方便增删改cookie的一个类
Oct 11 #Javascript
js事件(Event)知识整理
Oct 11 #Javascript
JavaScript高级程序设计(第3版)学习笔记13 ECMAScript5新特性
Oct 11 #Javascript
JavaScript高级程序设计(第3版)学习笔记12 js正则表达式
Oct 11 #Javascript
JavaScript高级程序设计(第3版)学习笔记11 内建js对象
Oct 11 #Javascript
JavaScript高级程序设计(第3版)学习笔记10 再访js对象
Oct 11 #Javascript
JavaScript高级程序设计(第3版)学习笔记9 js函数(下)
Oct 11 #Javascript
You might like
解决file_get_contents无法请求https连接的方法
2013/12/17 PHP
PHP使用GIFEncoder类处理gif图片实例
2014/07/01 PHP
php中动态修改ini配置
2014/10/14 PHP
php支付宝接口用法分析
2015/01/04 PHP
php验证码的制作思路和实现方法
2015/11/12 PHP
php语言的7种基本的排序方法
2020/12/28 PHP
javascript小数计算出现近似值的解决办法
2010/02/06 Javascript
jQuery学习4 浏览器的事件模型
2010/02/07 Javascript
基于jQuery的message插件实现右下角弹出消息框
2011/01/11 Javascript
js中substr,substring,indexOf,lastIndexOf的用法小结
2013/12/27 Javascript
JS获取地址栏参数的几种方法小结
2014/02/28 Javascript
浅析四种常见的Javascript声明循环变量的书写方式
2015/10/14 Javascript
jQuery 1.9.1源码分析系列(十五)动画处理之缓动动画核心Tween
2015/12/03 Javascript
AJAX实现瀑布流触发分页与分页触发瀑布流的方法
2016/05/23 Javascript
JS实现对中文字符串进行utf-8的Base64编码的方法(使其与Java编码相同)
2016/06/21 Javascript
拖动时防止选中
2017/02/03 Javascript
zTree树形插件异步加载方法详解
2017/06/14 Javascript
vue2导航根据路由传值,而改变导航内容的实例
2017/11/10 Javascript
详解iframe跨域的几种常用方法(小结)
2019/04/29 Javascript
详解vue-cli3开发Chrome插件实践
2019/05/29 Javascript
JS中的算法与数据结构之队列(Queue)实例详解
2019/08/20 Javascript
解决elementUI 切换tab后 el_table 固定列下方多了一条线问题
2020/07/19 Javascript
[00:32]2018DOTA2亚洲邀请赛Mineski出场
2018/04/04 DOTA
Python中使用动态变量名的方法
2014/05/06 Python
Python中实现的RC4算法
2015/02/14 Python
python图片验证码生成代码
2016/07/02 Python
浅谈python 线程池threadpool之实现
2017/11/17 Python
python实现k-means聚类算法
2018/02/23 Python
Python实现批量读取图片并存入mongodb数据库的方法示例
2018/04/02 Python
python模块之subprocess模块级方法的使用
2019/03/26 Python
对Python生成器、装饰器、递归的使用详解
2019/07/19 Python
Python3如何对urllib和urllib2进行重构
2019/11/25 Python
浅谈Pycharm的项目文件名是红色的原因及解决方式
2020/06/01 Python
HTML5中的进度条progress元素简介及兼容性处理
2016/06/02 HTML / CSS
集中整治工作方案
2014/05/01 职场文书
详解TypeScript中的类型保护
2021/04/29 Javascript