setTimeout中的函数不起作用

有两个函数hello1()和hello2()。

function hello1(){

console.log('hello1');

}

function hello2(){

console.log('hello2');

}

setTimeout(hello1, 3000);

setTimeout(hello2(), 3000);

在中setTimeout(hello1, 3000);,延迟3秒后打印“ hello1”。

但是在中setTimeout(hello2(), 3000);,它会立即打印“ hello2”。

我认为是因为它必须在setTimeout中使用函数名称。

如果我想在延迟3秒后执行带有参数的函数hello(1)怎么办?

因为我想将参数传递给函数,所以我不能只在setTimeout中使用函数名,例如 setTimeout(hello1, 3000);

回答:

当对函数使用括号时,将setTimeout立即执行。

要将函数与参数一起使用,可以将任意函数用作超时函数,并在其中调用函数。

setTimeout(function() {

hello(1, 'param');

}, 3000);

以上是 setTimeout中的函数不起作用 的全部内容, 来源链接: utcz.com/qa/416352.html

回到顶部