【前端面试】场景题

记录面试中遇到一些比较有意思的场景题

虚拟滚动是如何去实现的(长列表,大表格)

1、监听滚轮事件/触摸事件,记录列表的总偏移量。
2、根据总偏移量计算列表的可视元素起始索引。
3、从起始索引渲染元素至视口底部。
4、当总偏移量更新时,重新渲染可视元素列表。
5、为可视元素列表前后加入缓冲元素。
6、在滚动量比较小时,直接修改可视元素列表的偏移量。
7、在滚动量比较大时(比如拖动滚动条),会重新渲染整个列表。
事件节流。