window.setTimeout 方法是用来延迟执行某段函数(方法)的。但它在调用指定的方法并传参时寸在一定缺陷。
无限循环
代码如下 | |
<div id="num"></div> <script type="text/javascript"> |
setTimeout函数可以传参/传值
代码如下 | |
var _st = window.setTimeout; //fRef 是test函数,mDelay是时间 window.setTimeout = function(fRef, mDelay) { if(typeof fRef == 'function'){ var argu = Array.prototype.slice.call(arguments,2); var f = ( function(){ fRef.apply(null, argu); }); return _st(f, mDelay); } return _st(fRef,mDelay); } function test(x,y,z){ alert(x+" "+y+" "+z); } |
第一个参数是要执行的函数,第二个参数是间隔时间,后面的参数是要传入的值
代码如下 | |
window.setTimeout(test,1000,document.getElementById("d"),'abc','123'); |
时间: 2024-10-31 07:43:05