网上找来里的一个可以让setTimeout执行的function带上参数,同样原理,其他同类函数(如setInterval)也可以用的。


<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);    
}    
   
var a = new Object();    
window.setTimeout(aaaa,1000,a);    
window.setTimeout(aaaaa,2000,a,6,7);    
</script>
posted on 2008-09-20 13:27  Dacia  阅读(1276)  评论(0编辑  收藏  举报