因为JavaScript是单线程运行的,特定的时间只能有特定的代码正在执行,不会有多段代码同时执行。
但是浏览器却不是单线程的,一个浏览器可能有以下进程:javascript引擎线程、界面渲染线程、浏览器事件触发线程、Http请求线程。而且浏览器依靠事件驱动机制来确定代码的执行队列。
所以就不难理解为什么AJAX是异步操作的了。
由于JavaScript是单线程的,所以尽管浏览器可以并行下载js文件,但是也必须依次顺序下载。
function foo() {
console.log(‘first‘);
setTimeout((function(){
console.log(‘second‘);
}),5);
}
for(var i =0;i<10000;i++) {
foo();
}
时间: 2024-10-11 05:02:54