使用自定义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 相关文章推荐
js类中获取外部函数名的方法
Aug 19 Javascript
jQuery学习4 浏览器的事件模型
Feb 07 Javascript
实现前后端数据交互方法汇总
Apr 07 Javascript
JavaScript使用delete删除数组元素用法示例【数组长度不变】
Jan 17 Javascript
Node.js利用debug模块打印出调试日志的方法
Apr 25 Javascript
详解基于 axios 的 Vue 项目 http 请求优化
Sep 04 Javascript
Vue入门之animate过渡动画效果
Apr 08 Javascript
javaScript中indexOf用法技巧
Nov 26 Javascript
js实现适配移动端的拖动效果
Jan 13 Javascript
在Vue中使用HOC模式的实现
Aug 23 Javascript
Vue+Bootstrap实现简易学生管理系统
Feb 09 Vue.js
使用compose函数优化代码提高可读性及扩展性
Jun 16 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 中TP5 Request 请求对象的实例详解
2017/07/31 PHP
PHP convert_uudecode()函数讲解
2019/02/14 PHP
Thinkphp5+plupload实现的图片上传功能示例【支持实时预览】
2019/05/08 PHP
中文字符串截取的js函数代码
2013/04/17 Javascript
JavaScript通过RegExp实现客户端验证处理程序
2013/05/07 Javascript
JS二维数组的定义说明
2014/03/03 Javascript
jQuery的图片滑块焦点图插件整理推荐
2014/12/07 Javascript
js+jquery实现图片裁剪功能
2015/01/02 Javascript
jQuery实现内容定时切换效果完整实例
2016/04/06 Javascript
AngularJS入门教程之AngularJS表达式
2016/04/18 Javascript
JavaScript中的prototype原型学习指南
2016/05/09 Javascript
ES6新特性之字符串的扩展实例分析
2017/04/01 Javascript
详解Vue组件之间的数据通信实例
2017/06/17 Javascript
vue-router中scrollBehavior的巧妙用法
2018/07/09 Javascript
详解vuex的简单todolist例子
2019/07/14 Javascript
[44:26]DOTA2上海特级锦标赛主赛事日 - 2 胜者组第一轮#4EG VS Fnatic第二局
2016/03/03 DOTA
[54:45]2018DOTA2亚洲邀请赛 4.1 小组赛 A组 Optic vs OG
2018/04/02 DOTA
[01:09:13]DOTA2-DPC中国联赛 正赛 CDEC vs XG BO3 第三场 1月19日
2021/03/11 DOTA
Python json模块使用实例
2015/04/11 Python
举例讲解Python中的list列表数据结构用法
2016/03/12 Python
Python中线程的MQ消息队列实现以及消息队列的优点解析
2016/06/29 Python
详解python中的文件与目录操作
2017/07/11 Python
import的本质解析
2017/10/30 Python
shell命令行,一键创建 python 模板文件脚本方法
2018/03/20 Python
Python读取txt某几列绘图的方法
2018/10/14 Python
解决Python3用PIL的ImageFont输出中文乱码的问题
2019/08/22 Python
python数据化运营的重要意义
2019/11/25 Python
使用opencv将视频帧转成图片输出
2019/12/10 Python
Python序列化pickle模块使用详解
2020/03/05 Python
html5组织文档结构_动力节点Java学院整理
2017/07/11 HTML / CSS
雷锋式好少年事迹材料
2014/08/17 职场文书
幼儿园教师师德师风演讲稿:爱我所爱 无悔青春
2014/09/10 职场文书
2015年统战工作总结
2015/05/19 职场文书
Centos7中MySQL数据库使用mysqldump进行每日自动备份的编写
2021/08/02 MySQL
vue打包时去掉所有的console.log
2022/04/10 Vue.js
Golang解析JSON对象
2022/04/30 Golang