标签:rgba nginx anim 端口 ++ query dom log 不同
前端性能优化主要有两个方面:
CDN:内容分发网络,放置静态资源(JS CSS 图片等)的服务器
CDN是一种解决方案,不是一个实际的东西
终极目标:减少DOM操作
例:插入十万条数据如何不卡顿:
1 // 插入十万条数据 2 const total = 100000; 3 let ul = document.querySelector(‘ul‘); // 拿到 ul 4 5 // 懒加载的思路 -- 分段渲染 6 // 1. 一次渲染一屏的量 7 const once = 20; 8 // 2. 全部渲染完需要多少次,循环的时候要用 9 const loopCount = total / once; 10 // 3. 已经渲染了多少次 11 let countHasRender = 0; 12 13 function add() { 14 // 创建虚拟节点,(使用 createDocumentFragment 不会触发渲染) 15 const fragment = document.createDocumentFragment(); 16 // 循环 20 次 17 for (let i = 0; i < once; i++) { 18 const li = document.createElement(‘li‘); 19 li.innerText = Math.floor(Math.random() * total); 20 fragment.appendChild(li); 21 } 22 // 最后把虚拟节点 append 到 ul 上 23 ul.appendChild(fragment); 24 // 4. 已渲染的次数 + 1 25 countHasRender += 1; 26 loop(); 27 } 28 29 // 最重要的部分来了 30 function loop() { 31 // 5. 如果还没渲染完,那么就使用 requestAnimationFrame 来继续渲染 32 if (countHasRender < loopCount) { 33 // requestAnimationFrame 叫做逐帧渲染 34 // 类似于 setTimeout(add, 16); 35 // 帧:一秒钟播放多少张图片,一秒钟播放的图片越多,动画就约流畅 36 // 1000/60 = 16 37 window.requestAnimationFrame(add); 38 } 39 } 40 loop();
标签:rgba nginx anim 端口 ++ query dom log 不同
原文地址:https://www.cnblogs.com/coder-zero/p/14754160.html