以前写的,好不容易翻出来,还是写在这里,方便以后查询使用
<script language="javascript">
![](https://www.cnblogs.com/Images/OutliningIndicators/ExpandedBlockStart.gif)
/**//*
功能:修改 window.setTimeout,使之可以传递参数和对象参数
使用方法: setTimeout(回调函数,时间,参数1,
,参数n)
*/
var __sto = setTimeout;
window.setTimeout = function(callback,timeout,param)
![](https://www.cnblogs.com/Images/OutliningIndicators/ExpandedBlockStart.gif)
![](https://www.cnblogs.com/Images/OutliningIndicators/ContractedBlock.gif)
{
var args = Array.prototype.slice.call(arguments,2);
var _cb = function()
![](https://www.cnblogs.com/Images/OutliningIndicators/ExpandedSubBlockStart.gif)
{
callback.apply(null,args);
}
__sto(_cb,timeout);
}
![](https://www.cnblogs.com/Images/OutliningIndicators/None.gif)
///测试代码
![](https://www.cnblogs.com/Images/OutliningIndicators/None.gif)
function aaaa(a)
![](https://www.cnblogs.com/Images/OutliningIndicators/ExpandedBlockStart.gif)
![](https://www.cnblogs.com/Images/OutliningIndicators/ContractedBlock.gif)
{
alert(a);
}
![](https://www.cnblogs.com/Images/OutliningIndicators/None.gif)
function aaaaa(a,b,c)
![](https://www.cnblogs.com/Images/OutliningIndicators/ExpandedBlockStart.gif)
![](https://www.cnblogs.com/Images/OutliningIndicators/ContractedBlock.gif)
{
alert(a + b + c);
}
![](https://www.cnblogs.com/Images/OutliningIndicators/None.gif)
![](https://www.cnblogs.com/Images/OutliningIndicators/None.gif)
var a = new Object();
window.setTimeout(aaaa,1000,a);
window.setTimeout(aaaaa,2000,a,6,7);
</script>