重写setTimeout方法实现传参

来源:互联网 发布:热血江湖网络不稳定 编辑:程序博客网 时间:2024/05/30 13:42
var _st = window.setTimeout;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);}

上面这几行js加进去,然后再使用setTimeout方法时,就可以实现传参了,而且参数类型没有额外限制,Document对象什么的都可以的~

很好用,但之前用过一次将iframe对象作为参数,之后页面一直显示忙碌状态,具体原因没能够查清楚呢


使用方式:

setTimeout(yourfunction,3000,iframe);

第一个参数是你自己定义的方法,第二个参数是延后时间(单位ms),第三个参数是要传入function的参数

0 0