带参数的window.setTimeout

canca canca
2008-06-17 20:44
2
0

<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>

发表评论