JavaScript 中脚本的执行顺序主要受到以下几个因素的影响:
<script>
标签中的代码。setTimeout
、setInterval
等定时器时,回调函数会被放入宏任务队列。then
和 catch
回调会被放入微任务队列,优先级高于宏任务。console.log('Script start');
setTimeout(() => {
console.log('setTimeout');
}, 0);
Promise.resolve().then(() => {
console.log('Promise 1');
}).then(() => {
console.log('Promise 2');
});
console.log('Script end');
Script start
Script end
Promise 1
Promise 2
setTimeout
'Script start'
和 'Script end'
是同步代码,按顺序立即执行。'Promise 1'
和 'Promise 2'
是微任务,在当前任务完成后立即执行。'setTimeout'
是宏任务,在微任务队列清空后执行。通过理解这些基础概念和执行机制,可以有效管理和控制 JavaScript 脚本的执行顺序,解决实际开发中的问题。
领取专属 10元无门槛券
手把手带您无忧上云