当前位置:   article > 正文

前端项目优化持续记录_同等大小的svg

同等大小的svg

1. offsetTop、offsetLeft 优化

  1. <body>
  2. <div class="box" style="position: relative; top: 200px"></div>
  3. </body>
  4. <script>
  5. const box = document.querySelector(".box");
  6. console.time();
  7. console.log(box.offsetTop); // default: 0.3291015625 ms
  8. console.timeEnd();
  9. console.log("=================");
  10. console.time();
  11. console.log(box.computedStyleMap().get("top").value); // default: 0.051025390625 ms
  12. console.timeEnd();
  13. console.log("=================");
  14. console.time();
  15. console.log(box.getBoundingClientRect().y); // default: 0.049072265625 ms
  16. console.timeEnd();
  17. console.log("=================");
  18. console.time();
  19. console.log(box.style.top); // default: 0.029052734375 ms
  20. console.timeEnd();
  21. </script>

结论:如果我们想获取距离父元素顶端的距离的时候,应该尽量采用后三种

2. document.querySelector

  1. <body>
  2. <div class="box"></div>
  3. </body>
  4. <script>
  5. console.time();
  6. document.querySelector(".box"); // default: 0.078857421875 ms
  7. console.timeEnd();
  8. console.log("=================");
  9. console.time();
  10. document.getElementsByClassName("box"); // 0.01806640625 ms
  11. console.timeEnd();
  12. </script>

结论:如果在一个同步代码块需要很多元素查询时,请尽可能换成第二种

3. svg 和 png 对比

  1. const img = document.createElement("img");
  2. img.src = "./png.png";
  3. console.time();
  4. img.onload = function () {
  5. console.timeEnd(); // default: 5.255126953125 ms
  6. console.log("=================");
  7. const img2 = document.createElement("img");
  8. img2.src = "./svg.svg";
  9. console.time();
  10. img2.onload = function () {
  11. console.timeEnd(); // default: 9.476806640625 ms
  12. };
  13. };

结论:同样大小的 png 和 svg,svg 要比 png 图片加载的慢一些

声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/Cpp五条/article/detail/581120
推荐阅读
相关标签
  

闽ICP备14008679号