开发中会经常使用到setTimeout,使用的时候需要传递两个参数,第一个参数是arg1(可以是字符串,也可以是方法),第二参数arg2(时间),但是如果arg1想传递多个参数,这样字符串拼接就比较麻烦了,这里我们做一个小小的改造,不多说了,直接上代码:
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>该案例的作用是:改造setTimeout方法,使其能够传递多个的参数 </title>
<script type="text/javascript">
var $cp = setTimeout;
window.setTimeout=function(callback,timeOut){
var args = Array.prototype.slice.call(arguments,2); //获取实参列表,并截取
var $_fun=function(){ //重新构造setTimeout中的方法
callback.apply(null,args);
}
$cp($_fun,timeOut); //调用老的setTimeout方法
}
//测试方法
function a(a,b,c){
alert(a+b+c);
}
//测试
setTimeout(a,2000,1,2,3);
</script>
</head>
<body>
</body>
</html>