获得徽章 8
- dom在哪个阶段更新
setTimeout(() => {alert('暂停点alert');console.log('setTimeout done')}, 0)
document.getElementsByTagName('div')[0].innerHTML = 'FE情报局'
new Promise((resolve) => {resolve()}).then(() => {console.log('promise done')})
按道理应该是微任务->dom渲染->宏任务
这里先出现暂停点alert,浏览器还没渲染
setTimeout(() => {alert('暂停点alert');console.log('setTimeout done')}, 0)
document.getElementsByTagName('div')[0].innerHTML = 'FE情报局'
new Promise((resolve) => {resolve()}).then(() => {console.log('promise done');alert('promise alert')})
先出现promise alert,页面显示FE情报局,再出现alert
setTimeout(() => {
for (let index = 0; index < 1000000; index++) {
if(index===1000000-1){
console.log('end')
}
}
console.log('setTimeout done')
},0)
document.getElementsByTagName('div')[0].innerHTML = 'FE情报局'
new Promise((resolve) => {resolve()}).then(() => {
console.log('promise done')
for (let index = 0; index < 1000000; index++) {
if(index===1000000-1){
console.log('done')
}
}
})
先出现done,FE情报局出现在浏览器中,最后出现end的顺序展开146
,明天就回去搬砖了