带参数的window.setTimeout
<html>
<head>
<title>带参数的setTimeout</title>
<script language="javascript">
/**
功能:修改 window.setTimeout,使之可以传递参数和对象参数
使用方法: setTimeout(回调函数,时间,参数1,,参数n)
*/
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 aaaa(a)
{
alert(a);
}
function aaaaa(a,b,c)
{
alert(a + b + c);
}
function bbbbb(){
alert("none param");
}
function ccccc(num){
alert(num);
if(num <= 0)return;
window.setTimeout(ccccc,200,--num);
}
var a = new Object();
window.setTimeout(aaaa,1000,a);
window.setTimeout(aaaaa,2000,a,6,7);
window.setTimeout(bbbbb,2000);
window.setTimeout(ccccc,2000,10);
</script>
</head>
<body>
</body>
</html>