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