当面试官问你:**“前端如何渲染海量数据”**的时候,他在想什么?
你可能会觉得他在想peach,毕竟这种问题在实际业务中出现的频率低到陨石撞地球,但是,他还是想问你。
暴力渲染也不是不可以,就是用户体验不太好,甚至浏览器可能会崩溃。
既然如此,海量数据,后端就是不给分页,那就前端做个分页呗。
比如一页10条,可以用setTimeout渲染完10条再渲染10条,也可以优化一下,用requestAnimation使其丝滑。
你自信满满给出答案,然后面试官又问:“还有吗?”
你内心已然掀桌,但却依旧面带微笑地回答:
如果不一次性加载,还可以使用无限滚动列表,当滚动条滚动到底部的时候再加载下一页,同时,理论上可以考虑用碎片化文档DocumentFragment来减少回流,虽然在实际测试中DocumentFragment不一定比直接appendChild更快。
你看着面试官薄唇微启,似欲言语,赶忙接着道:
还可以用虚拟列表,根据滚动高度计算当前Y轴的偏移量,只渲染当前这一屏。
面试官沉默几秒,抬头看了你一眼,说:
回去等通知吧。
你心里想,也许这又是一次KPI面试吧。
好了,正文开始~
大家好!!我又双叒叕来划水了🏊(突然社交牛逼起来)
国庆七天小长假,我的行程安排得满满的:
当然,吃吃喝喝也要安排上,什么尝遍八大菜系的外卖啦,深夜的炸鸡烤串大排档啦,每天一个窜稀小技巧不在话下。
偶尔我也会云游一下朋友圈,欣赏祖国的大好山河,然后心安理得地继续在空调底下吃瓜看剧。
要说国庆做的最多的事,那当然还是睡觉。
众所周知,我平时都是这样的:
睡完了七天小长假,我是这样的:
不知道有没有人和我一样,越睡越困越睡越困越睡。。
这就是全部了吗?当然不是!除了吃饭睡觉玩手机,我还水了一篇文章。
没错,就是你现在看到这篇😉
最后,祝大家开工大吉!工作顺利!