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下给元素添加事件的方法与代码
Aug 13 Javascript
js防止页面被iframe调用的方法
Oct 30 Javascript
AngularJS基础 ng-srcset 指令简单示例
Aug 03 Javascript
浅谈angularjs $http提交数据探索
Jan 20 Javascript
基于javascript实现数字英文验证码
Jan 25 Javascript
jquery DataTable实现前后台动态分页
Jun 17 jQuery
使用socket.io实现简单聊天室案例
Jan 02 Javascript
JS动态插入脚本和插入引用外部链接脚本的方法
May 21 Javascript
JavaScript文本特效实例小结【3个示例】
Dec 22 Javascript
使用 JavaScript 创建并下载文件(模拟点击)
Oct 25 Javascript
微信小程序单选框自定义赋值
May 26 Javascript
node.js通过Sequelize 连接MySQL的方法
Dec 28 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
PHP中call_user_func_array()函数的用法演示
2012/02/05 PHP
详谈php中 strtr 和 str_replace 的效率问题
2017/05/14 PHP
JavaScript Date对象使用总结
2009/05/14 Javascript
js getBoundingClientRect() 来获取页面元素的位置
2010/11/25 Javascript
js 代码优化点滴记录
2012/02/19 Javascript
JavaScript获取当前网页最后修改时间的方法
2015/04/03 Javascript
js提示框替代系统alert,自动关闭alert对话框的实现方法
2016/11/07 Javascript
Vue 2.5.2下axios + express 本地请求404的解决方法
2018/02/21 Javascript
解决Layui 表单提交数据为空的问题
2018/08/15 Javascript
详解如何在vue项目中使用eslint+prettier格式化代码
2018/11/10 Javascript
vue的for循环使用方法
2019/02/12 Javascript
javascript自定义加载loading效果
2020/09/15 Javascript
原生js实现购物车
2020/09/23 Javascript
[45:25]完美世界DOTA2联赛循环赛 PXG vs IO 第一场 11.06
2020/11/09 DOTA
python使用socket连接远程服务器的方法
2015/04/29 Python
python字符串str和字节数组相互转化方法
2017/03/18 Python
Python简单操作sqlite3的方法示例
2017/03/22 Python
python GUI实例学习
2017/11/21 Python
Python的多维空数组赋值方法
2018/04/13 Python
浅谈Pycharm调用同级目录下的py脚本bug
2018/12/03 Python
Python3非对称加密算法RSA实例详解
2018/12/06 Python
Python实现去除列表中重复元素的方法总结【7种方法】
2019/02/16 Python
python+OpenCV实现车牌号码识别
2019/11/08 Python
python bluetooth蓝牙信息获取蓝牙设备类型的方法
2019/11/29 Python
使用python检查yaml配置文件是否符合要求
2020/04/09 Python
什么是Python变量作用域
2020/06/03 Python
css3实现二维码扫描特效的示例
2020/10/29 HTML / CSS
Html5游戏开发之乒乓Ping Pong游戏示例(二)
2013/01/21 HTML / CSS
解决HTML5中滚动到底部的事件问题
2019/08/22 HTML / CSS
马来西亚在线健康商店:Medipal Malaysia
2020/04/13 全球购物
高级护理专业毕业生推荐信
2013/12/25 职场文书
保护环境倡议书300字
2014/05/19 职场文书
商铺门前三包责任书
2014/07/25 职场文书
管理工程专业求职信
2014/08/10 职场文书
小学教师先进事迹材料
2014/12/15 职场文书
2015年中学体育教师工作总结
2015/10/23 职场文书