网站地图    收藏   

主页 > 前端 > javascript >

javascript setTimeout函数可以传参/传值

来源:自学PHP网    时间:2014-09-19 14:47 作者: 阅读:

[导读] 本文章来给大家介绍一下javascript setTimeout函数可以传参/传值方法,希望对各位同学会有点帮助呀。...

 window.setTimeout 方法是用来延迟执行某段函数(方法)的。但它在调用指定的方法并传参时寸在一定缺陷。一般直接传参,只能传入字符传之类的参数,但对于Object类型的就无法直接传入,我的方法就是重写window.setTimeout方法,利用apply回掉,

 代码如下 复制代码

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');

自学PHP网专注网站建设学习,PHP程序学习,平面设计学习,以及操作系统学习

京ICP备14009008号-1@版权所有www.zixuephp.com

网站声明:本站所有视频,教程都由网友上传,站长收集和分享给大家学习使用,如由牵扯版权问题请联系站长邮箱904561283@qq.com

添加评论