如何在JavaScript中使用setTimeout()执行已声明的函数?

时间:2015-07-20 10:01:24

标签: javascript function settimeout

基本上,如果我想在setTimeout()中执行一个函数,我必须在setTimeout()中声明它,就像这样的东西:

setTimeout(function () {
    safe.isBroken = false;
    safe.amount = randNumberBetween(500, 1500);
}, 30000);

但我做不到这样的事情:

setTimeout(safeRefill(30000)

任何方式这样做?

感谢。

2 个答案:

答案 0 :(得分:2)

这是可能的,像这样:

setTimeout(safeRefill, time)

但是,为了解析safeRefill的参数,你必须这样做:

setTimeout(function(){ safeRefill(arg1, arg2) }, time)

答案 1 :(得分:0)

是的,您当然可以在setTimeout中使用已经声明的功能。 您需要做的就是在匿名函数中调用现有函数,该函数作为第一个参数传递给setTimeout函数。

这是演示同样的小提琴。 http://jsfiddle.net/0449f1dn/1/

希望它有所帮助!