我写了以下代码:
// 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)
作为第一个变量传递,这是该函数执行的结果。