
获得徽章 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 - hooks好文
这篇文章详细讲述了hooks在vue和react中的使用,他们的相同点和不同点,作者对于hooks的理解从发展到实践,通过具体的实例向我们展示了hooks方式
真正的由浅入深
展开评论点赞