修改 window.setTimeout,使之可以传递参数和对象参数

/* 

功能:修改 window.setTimeout,使之可以传递参数和对象参数 
使用方法: setTimeout(回调函数,时间,参数1,,参数n) 
*/ 

var _setTimeout=setTimeout;
window.setTimeout=function(callback,time,params){
   var param=Array.prototype.slice.call(arguments,2);
   var _callback=function(){
   	 callback.apply(null,param);
   }
   _setTimeout(_callback,time);
}

function test(param){
    alert(param);
}
function test2(a,b,c){
	alert(a+b+c);
}

var obj=new Object();
window.setTimeout(test,100,obj);
window.setTimeout(test2,100,obj,1,2);

  

原文地址:https://www.cnblogs.com/xiaotaiyang/p/5901391.html