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 相关文章推荐
jquery中attr和prop的区别分析
Mar 16 Javascript
js实现匹配时换色的输入提示特效代码
Aug 17 Javascript
深入理解JavaScript中的浮点数
May 18 Javascript
解析jquery easyui tree异步加载子节点问题
Mar 08 Javascript
xmlplus组件设计系列之选项卡(Tabbar)(5)
May 03 Javascript
微信小程序实现多宫格抽奖活动
Apr 15 Javascript
第一个Vue插件从封装到发布
Nov 22 Javascript
解决vue+webpack打包路径的问题
Mar 06 Javascript
微信小程序实现点击图片旋转180度并且弹出下拉列表
Nov 27 Javascript
JS使用Prim算法和Kruskal算法实现最小生成树
Jan 17 Javascript
js 闭包深入理解与实例分析
Mar 19 Javascript
JS实现九宫格拼图游戏
Jun 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
DOTA2 1月28日更新:监管系统降临刀塔世界
2021/01/28 DOTA
PHP语法速查表
2007/01/02 PHP
php防注入及开发安全详细解析
2013/08/09 PHP
php实现概率性随机抽奖代码
2016/01/02 PHP
PHP连接MYSQL数据库的3种常用方法
2017/02/27 PHP
thinkPHP5.0框架自动加载机制分析
2017/03/18 PHP
PHP常量define和const的区别详解
2019/05/18 PHP
JavaScript 语法集锦 脚本之家基础推荐
2009/11/15 Javascript
JavaScript数据类型之基本类型和引用类型的值
2015/04/01 Javascript
分享Javascript实用方法二
2015/12/13 Javascript
在原生不支持的旧环境中添加兼容的Object.keys实现方法
2017/09/11 Javascript
AngularJS实时获取并显示密码的方法
2018/02/06 Javascript
webpack dll打包重复问题优化的解决
2018/10/10 Javascript
Vue.js的模板语法详解
2020/02/16 Javascript
vue中实现图片压缩 file文件的方法
2020/05/28 Javascript
vue等两个接口都返回结果再执行下一步的实例
2020/09/08 Javascript
es5 类与es6中class的区别小结
2020/11/09 Javascript
实例详解python函数的对象、函数嵌套、名称空间和作用域
2019/05/31 Python
Flask框架实现的前端RSA加密与后端Python解密功能详解
2019/08/13 Python
Centos7下源码安装Python3 及shell 脚本自动安装Python3的教程
2020/03/07 Python
Django自定义列表 models字段显示方式
2020/04/03 Python
Pycharm 2020.1 版配置优化的详细教程
2020/08/07 Python
Pycharm2020.1安装无法启动问题即设置中文插件的方法
2020/08/07 Python
python文件排序的方法总结
2020/09/13 Python
纯css3实现的动画按钮的实例教程
2014/11/17 HTML / CSS
css3的transform中scale缩放详解
2014/12/08 HTML / CSS
印度在线购物网站:Paytmmall
2019/07/24 全球购物
教师评语大全
2014/04/28 职场文书
保证书范文大全
2014/04/28 职场文书
户外宣传策划方案
2014/05/25 职场文书
车贷收入证明范本
2014/09/14 职场文书
公务员群众路线专题民主生活会发言材料
2014/09/17 职场文书
小区门卫的岗位职责
2014/09/26 职场文书
2014年党建工作总结
2014/11/11 职场文书
Python自动化测试PO模型封装过程详解
2021/06/22 Python
插件导致ECharts被全量引入的坑示例解析
2022/09/23 Javascript