为什么setTimeout执行函数没有延迟



我写了以下代码:

// callback function
function tryMe (param1) { 
    alert (param1 ); 
} 
// callback executer 
function callbackTester (callback) { 
    callback(); 
} 
// test function
    callbackTester (  function() {
        setTimeout(  tryMe(1), 10000);
     })

脚本执行后,我立即看到警报。

预期结果-请参阅延迟10秒的警报。

我哪里错了?

如何更正此代码?

您可以这样做:

setTimeout(function() { tryMe(1) }, 10000);

在这种情况下,tryMe(1)函数将在指定的时间间隔后调用。在您的示例中,您立即调用了该函数。

基本上,setTimeout函数将函数指针作为第一个参数,而您将tryMe(1)作为第一个变量传递,这是该函数执行的结果。

最新更新