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

2019-12-25,,,,

/******************************************************
//
// 功能: 修改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。

您可能感兴趣的文章:

  • setInterval和setTimeout停止的方法
  • Javascript延迟执行实现方法(setTimeout)
  • Js setInterval与setTimeout(定时执行与循环执行)的代码(可以传入参数)
  • JavaScript setTimeout和setInterval的使用方法 说明
  • setTimeout与setInterval在不同浏览器下的差异
  • javascript setTimeout和setInterval 的区别
  • javascript 不停(setInterval)/延时(setTimeout)函数使用实例
  • 给c#添加SetTimeout和SetInterval函数
  • setInterval 和 setTimeout会产生内存溢出
  • setTimeout和setInterval的区别你真的了解吗?

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

下载本文的Word格式文档,以方便收藏与打印。