相关疑难解决方法(0)

设置为0毫秒时setTimeout的作用是什么?

在JavaScript中,setTimeout(callback, delay)意思是" callbackdelay毫秒之后调用".但是如果delay是的话0呢?它应该立即打电话callback吗?

我很困惑因为我在运行以下代码时看到的内容:

setTimeout(function() { 
    console.log('AAA');
}, 0); // Call this in 0 milliseconds 

for (i = 0; i < 1000; i++) {
    console.log('BBB'); 
}
for (i = 0; i < 1000; i++) {
    console.log('CCC'); 
}
for (i = 0; i < 1000; i++) {
    console.log('DDD'); 
}
for (i = 0; i < 1000; i++) {
    console.log('EEE'); 
}
Run Code Online (Sandbox Code Playgroud)

这会将以下内容记录到控制台:

console_log

我希望看到AAA记录的速度要早得多.在console.log应该立即调用的函数之前,有时间执行4000个其他调用.

有人可以解释setTimeout当延迟设置为0毫秒时正在做什么吗?

javascript settimeout

41
推荐指数
1
解决办法
2万
查看次数

标签 统计

javascript ×1

settimeout ×1