带参数方法使用setTimeout:setTimeout("函数名("+参数+")",毫秒数),这里的参数只能是字符串形式的,而不能传递一个对象,以下重写setTimeout方法
<script language="javascript">
var __sto = setTimeout;
window.setTimeout = function(callback,timeout,param)
{
var args = Array.prototype.slice.call(arguments,2);
var _cb = function()
{
callback.apply(null,args);
}
__sto(_cb,timeout);
}
//测试代码
function test(a)
{
alert(a);
}
function test11(a,b,c)
{
alert(a + b + c);
}
var a = new Object();
window.setTimeout(test,1000,a);
window.setTimeout(test11,2000,a,6,7);
</script>
此例中,setTimeout用法,setTimeout(回调函数,时间,参数1,...,参数n)。
js中setTimeout方法重写,实现对象参数传递
最新推荐文章于 2022-08-23 16:37:47 发布