• 前端性能优化入手点


    让加载更快

    1 减少资源大小:压缩代码,除了压缩js css外 还可以在服务端进行gzip压缩,提高请求速度。图片资源可以使用tinypng工具压缩大小。

    2 减少访问次数:合并代码;雪碧图;ssr服务端渲染(将网页和数据一起加载,一起渲染);使用缓存。

    3 使用更快的网络:cdn

    让渲染更快

    1 css放在head里面,js放在body里的最下面

    2 让js更早的执行,DOMContentLoaded就开始执行

    3 让图片懒加载

    4 对dom查询进行缓存;频繁dom操作合并一起执行

    5 节流throttle和防抖debounce

    //防抖函数
    function debounce(fn,delay=500){
        let timer = null;
        return function(){
            if(timer){
                clearTimeout(timer)
            }
            timer = setTimeout(()=>{
                fn()
                timer = null
            },delay)
        }
               
    }
    用法:
    xxx.addEventListener("click",debounce(()=>{
    
    }))
        
        //节流
        function throttle(fn,delay=100){
          let timer = null
          return function(){
            if(timer){
              return 
            }
            timer = setTimeout(()=>{
              fn();
              timer = null;
            },delay)
          }
        }
        //用法
        xxx.addEventListener("drag",throttle(function(){
    
        },100))
  • 相关阅读:
    网络流
    第k短路(Dijkstra & A*)
    线段树(区间修改)
    线段树(单点修改)
    分块
    单调队列
    NOIP 2006 T2 金明的预算方案
    背包
    CH 6021 走廊泼水节
    关于数字序列匹配的一些问题(lis, lcs, lcis等)
  • 原文地址:https://www.cnblogs.com/panda-programmer/p/13061105.html
Copyright © 2020-2023  润新知