这段代码有什么问题
var a=function()
{
setInterval(function(){document.write("a");},1000);
}
function b(callback)
{
callback();
alert(2);
}
b(a); // alert 2
它不应该向我显示警报,因为通话还没有结束?
这段代码有什么问题
var a=function()
{
setInterval(function(){document.write("a");},1000);
}
function b(callback)
{
callback();
alert(2);
}
b(a); // alert 2
它不应该向我显示警报,因为通话还没有结束?
代码按预期运行。SetInterval 不会保留在指定时间后触发分配函数的其余代码的执行。
所以你会得到警报,然后是 document.write。
您可以将回调添加到您的 setInterval 函数中,以便在 1000 毫秒延迟之后才执行它,例如:
var a=function(callback) {
setInterval(function(){document.write("a"); callback(); },1000);
}
function b() {
alert(2);
}
a(b); // alert 2 AFTER the 1000 millisecond delay