网上找来里的一个可以让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>
http://www.cnblogs.com/21dacia/archive/2008/09/20/1294728.html
<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>
http://www.cnblogs.com/21dacia/archive/2008/09/20/1294728.html