节选 1
事件循环的输出顺序题怎么秒解?
解题三步法:先从上到下执行同步代码,遇到Promise构造函数立即执行;把then、catch、await后代码推入微任务队列;把setTimeout、setInterval推入宏任务队列。同步清空后立即清空当前微任务,再取出一个宏任务循环。记住await后代码等价于Promise.then。
JS 基础、框架原理、工程化与性能优化四大板块,一页一考点方便背诵。
解题三步法:先从上到下执行同步代码,遇到Promise构造函数立即执行;把then、catch、await后代码推入微任务队列;把setTimeout、setInterval推入宏任务队列。同步清空后立即清空当前微任务,再取出一个宏任务循环。记住await后代码等价于Promise.then。
核心是只渲染可视区及上下缓冲区的DOM节点,用总高度的占位容器撑开滚动条。监听滚动事件根据scrollTop计算startIndex与endIndex,结合translateY偏移可视区域。若遇动态高度,需先用预估高度渲染,加载后获取实际DOM高度并动态修正位置缓存。