首页
学习
活动
专区
圈层
工具
发布

前端优化

一、页面/文件级优化 1、减少HTTP请求数 解决方法: 1)设置缓存 2)css、js、img等静态资源合并压缩(vue的项目有压缩css和js) 3)懒加载图片(不是真正意义的减少请求数...,但可以使首屏加载更快,间接达到目的) 2、css文件置顶、js文件置底 3、常用静态文件使用CDN引用(减少带宽占用;目前是后台在做) 4、图片压缩(目前是UI在做) 5、确保服务器提供ETag认证令牌...(很久以前偶尔会出现这种情况) 7、将CSS和JS放到外部文件中:目的是缓存文件。 但有时候为了减少请求,也会直接写到页面里,需根据PV(访问次数)和IP的比例权衡。...,这样就无需每次都访问全局变量 3)假如访问本地变量复杂度为0,访问 外面一层作用域变量/变量内部属性 复杂度+1,那么:假如data.length = 10,i data.length的复杂度为...10,而如果var len = data.length,其余每次i data.length这句代码也就为1而已。

76720
  • 您找到你想要的搜索结果了吗?
    是的
    没有找到

    薛定谔的bug?不,是我还得练!

    JavaScript 引擎线程: 负责解析和执行JS。JS引|擎线程和GUI渲染线程是互斥的,同时只能一个在执行。...当 JS 瞬时进行大量的Dom操作,并且没有进行分段渲染处理,再打开性能监控,将会明显感受到两者运行的顺序。事件触发线程: 主要用于控制事件循环。...比如计时器(setTimeout/setlnterval),异步网络请求等等,会把任务添加到事 件触发线程,当任务符合触发条件触发时,就把任务添加到待处理队列的队尾,等JS引擎线程去处理。...额外说明一点,由于要保持计时的准确性,定时器不是由会阻塞的JS实现的,而是交给浏览器。再进一步拆解,这些进程包含两种类型任务。...data.length : endIndex + step; let nextStartIndex = endIndex > data.length ?

    62430
    领券