setTimeInterval 传入参数

hello 函数名,userName 变量

方法一

window.setTimeout("hello(userName)",3000);

方法二

//创建一个中间函数,用于返回一个无参数函数
function _hello(_name){
       return function(){
             hello(_name);
       }
}
window.setTimeout(_hello(userName),3000);

方法三 (推荐)

/*功能: 修改 window.setInterval ,使之可以传递参数和对象参数
* 方法: setInterval (回调函数,时间,参数1,,参数n) 参数可为对象:如数组等*/
var __sto = setInterval;
window.setInterval = function(callback,timeout,param){
    var args = Array.prototype.slice.call(arguments,2);
    var _cb = function(){
        callback.apply(null,args);
    }
    __sto(_cb,timeout);
}
window.setInterval(hello, 3000, userName);

参考:https://www.cnblogs.com/superdg003/p/5996360.html

Author: thinkwei

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注