我写了以下代码:
// callback function
function tryMe (param1) {
alert (param1 );
}
// callback executer
function callbackTester (callback) {
callback();
}
// test function
callbackTester ( function() {
setTimeout( tryMe(1), 10000);
})
我在脚本执行后立即看到警报。
预期结果 - 请看延迟10秒的警报。
我哪里错了?
如何更正此代码?
答案 0 :(得分:4)
你可以这样做:
setTimeout(function() { tryMe(1) }, 10000);
在这种情况下,将在指定的时间间隔后调用tryMe(1)
函数。在您的示例中,您立即调用该函数。
基本上setTimeout
函数将函数指针作为第一个参数,而你传递tryMe(1)
作为第一个参数,这是执行此函数的结果。