使用自定义setTimeout和setInterval使之可以传递参数和对象参数


Posted in Javascript onApril 24, 2009

/******************************************************
//
// 功能: 修改window.setTimeout,使之可以传递参数和对象参数
// 使用方法: window.setTimeout(回调函数,延迟时间,参数1,参数n)
//
******************************************************/
var mySetTimeOut = setTimeout;
window.setTimeout = function(callback, timeout)
{
var args = Array.prototype.slice.call(arguments, 2);
function callFn(){callback.apply(null, args);}
return mySetTimeOut(callFn, timeout);
}
/******************************************************
//
// 功能: 修改window.setInterval,使之可以传递参数和对象参数
// 使用方法: window.setInterval(回调函数,间隔时间,参数1,参数n)
//
******************************************************/
var mySetInterval = setInterval;
window.setInterval = function(callback, interval)
{
var args = Array.prototype.slice.call(arguments, 2);
function callFn(){callback.apply(null, args);}
return mySetInterval(callFn, interval);
}
// 测试代码传递object
// 普通参数就不举例了
var obj = {height: 40px;}
var testTimeout = testInterval = null;
function test(obj)
{
alert(obj.height);
clearSetTimeOut(testTimeout);
clearInterval(testInterval);
}
var testTimeout = window.setTimeout(test, 100, obj);
var testInterval = window.setInterval(test, 100, obj);
该函数兼容ie,firefox。并且可以使用clearSetTimeOut和clearInterval清除,比原setTimeout,setInterval方便很多,并且参数可以是object。

Javascript 相关文章推荐
JavaScript库 开发规则
Jan 31 Javascript
jQuery实现文本框输入同步的方法
Jun 20 Javascript
js获取图片宽高的方法
Nov 25 Javascript
leaflet的开发入门教程
Nov 17 Javascript
浅谈原生JS实现jQuery的animate()动画示例
Mar 08 Javascript
JS+CSS实现滚动数字时钟效果
Dec 25 Javascript
jQuery 改变P标签文本值方法
Feb 24 jQuery
详解CommonJS和ES6模块循环加载处理的区别
Dec 26 Javascript
微信小程序入口场景的问题集合与相关解决方法
Jun 26 Javascript
json解析大全 双引号、键值对不在一起的情况
Dec 06 Javascript
Element Carousel 走马灯的具体实现
Jul 26 Javascript
前端如何实现动画过渡效果
Feb 05 Javascript
在线编辑器中换行与内容自动提取
Apr 24 #Javascript
Js 获取HTML DOM节点元素的方法小结
Apr 24 #Javascript
jQuery对象和DOM对象相互转化
Apr 24 #Javascript
JavaScript 学习点滴记录
Apr 24 #Javascript
用JavaScript显示随机图像或引用
Apr 21 #Javascript
JavaScript 无符号右移运算符
Apr 17 #Javascript
JavaScript 无符号右移赋值操作
Apr 17 #Javascript
You might like
php横向重复区域显示二法
2008/09/25 PHP
微信公众号支付之坑:调用支付jsapi缺少参数 timeStamp等错误解决方法
2016/01/12 PHP
thinkphp项目部署到Linux服务器上报错“模板不存在”如何解决
2016/04/27 PHP
php 人员权限管理(RBAC)实例(推荐)
2017/05/24 PHP
在php的yii2框架中整合hbase库的方法
2018/09/20 PHP
javascript 多浏览器 事件大全
2010/03/23 Javascript
探索Emberjs制作一个简单的Todo应用
2012/11/07 Javascript
node.js中的path.dirname方法使用说明
2014/12/09 Javascript
javascript中的五种基本数据类型
2015/08/26 Javascript
JQuery点击事件回到页面顶部效果的实现代码
2016/05/24 Javascript
JS检测页面中哪个HTML标签触发点击事件的方法
2016/06/17 Javascript
Js调用Java方法并互相传参的简单实例
2016/08/11 Javascript
javascript 分号总结及详细介绍
2016/09/24 Javascript
Node.js制作简单聊天室
2017/01/12 Javascript
mui上拉加载功能实例详解
2017/04/13 Javascript
JS控制鼠标拒绝点击某一按钮的实例
2017/12/29 Javascript
微信小程序中转义字符的处理方法
2019/03/28 Javascript
JS使用iView的Dropdown实现一个右键菜单
2019/05/06 Javascript
Express 配置HTML页面访问的实现
2020/11/01 Javascript
[01:53]3.19 DOTA2发布会 现场精彩Coser表演
2014/03/25 DOTA
[52:26]完美世界DOTA2联赛决赛 FTD vs Phoenix 第一场 11.08
2020/11/11 DOTA
Python自定义装饰器原理与用法实例分析
2018/07/16 Python
Python get获取页面cookie代码实例
2018/09/12 Python
python集合比较(交集,并集,差集)方法详解
2018/09/13 Python
对numpy中的where方法嵌套使用详解
2018/10/31 Python
Python元组知识点总结
2019/02/18 Python
Python猴子补丁Monkey Patch用法实例解析
2020/03/23 Python
Pandas直接读取sql脚本的方法
2021/01/21 Python
Linux内核产生并发的原因
2016/11/08 面试题
八年级音乐教学反思
2014/01/09 职场文书
优良学风班总结材料
2014/02/08 职场文书
技术负责人任命书
2014/06/05 职场文书
国际会计专业求职信
2014/08/04 职场文书
公司费用报销管理制度
2015/08/04 职场文书
MySQL系列之三 基础篇
2021/07/02 MySQL
SQL实现LeetCode(177.第N高薪水)
2021/08/04 MySQL