JavaScript性能优化方案,你知道几个?
JavaScript是手机和网页应用开发中的通用语言。 由于JavaScript的流行,为了提高应用程序的性能,它的优化变得越来越必要。 让我们来认识一些与JavaScript相关的挑战,以及如何优化js的性能。
典型的js性能挑战
有许多因素会影响JavaScript的性能。 以下是与js性能相关的常见问题:
事件处理质量差:
正确使用事件处理程序可以通过减少调用堆栈的深度来提高JavaScript的性能。
跟踪所有事件处理程序是很重要的,这样处理程序就不会在您不知道的情况下执行。
无组织的代码
JavaScript是松散的,这有利有弊。
词汇构造的分子集允许开发人员实现很多功能。 然而,代码中缺乏组织可能导致资源分配不足。
这在很大程度上阻碍了JavaScript的性能。 理解ECMA对于理解JavaScript非常重要。
太多的依赖
有时,JavaScript依赖关系管理得很差或过度。 当这种情况发生时,应用的性能将受到负面影响。
例如,带宽受限的移动用户将需要等待更长的时间来渲染对象。
低效的迭代
迭代过程需要很长时间。 然而,这也是有益的。 较长的处理时间为JavaScript优化创建了一个完美的起点。 当您修复代码中不相关的调用或循环时,您的JavaScript性能将大大提高。
js性能优化建议
修剪HTML
JavaScript HTML很复杂,在查询时间、查询和修改DOM对象方面起着至关重要的作用。
当你把应用程序的HTML切成两半时,DOM的速度可能会翻倍。 这可能很困难,但是通过丢弃像<div>和<span>这样的标签是可能的。
批处理DOM更改
批处理DOM转换,以防止重复出现屏幕渲染。 当创建样式更改时,一次完成所有的更改,而不是对每个样式单独应用更改。
学习异步编程的方法
JavaScript应用程序需要对大量api进行多次内部调用来获取数据。
每个函数都需要中间件,因为JavaScript是单线程的。
同步组件有时会锁定整个应用程序。 JavaScript使用async.js管理异步代码。
异步代码不会阻塞线程。 相反,威胁将被硬塞到事件队列中,该事件队列在执行其他代码之后触发。
使用JavaScript异步特性,可能会无意中利用外部库来恢复异步干扰调用。
这会降低JavaScript的性能。 相反,应该在代码中使用异步api,尤其是在关键的性能部分。
使用gzip压缩
JavaScript文件可能非常庞大。 利用GZip来解压和压缩文件。 GZip减少延迟时间,提高应用程序性能,并节省带宽。 使用GZip,服务器在将资源发送到浏览器之前对其进行压缩。
利用HTTP / 2
HTTP的最新版本是HTTP/2,它提高了JavaScript的性能,加快了网站的性能。
HTTP/2利用多路复用,允许同时发送多个响应和请求。
缓冲DOM
如果有可滚动的div,可以使用一个缓冲区来清除当前在视口中不可见的DOM项。 这些技术节省了DOM遍历和内存使用。
限制库依赖关系
加载时间会影响库的依赖关系,所以将利用率保持在最低水平是很重要的。
利用外部库依赖的最好方法是依赖于浏览器内技术。
当使用CSS选择器时,使用Sizzle.js而不是jQuery。 当库包含单个特性时,单独添加CSS选择器是至关重要的。
保持代码轻巧
保持JavaScript代码紧凑将减少延迟并提高性能。 当优化JavaScript性能时,问问自己:
- 这个模块有真正的需求吗?
- 使用这个框架的原因是什么?
- 开销值吗?
- 有更简单的方法吗?
通过将多个JS文件转换为一个来优化JavaScript性能。
最后
如果对您有帮助,希望能给个
JavaScript性能优化方案,你知道几个?相关推荐
- 移动端页面性能优化方案
移动端页面性能优化方案 加载优化 使用首屏加载 按需加载 预加载 压缩图片 减少Cookie 异步加载第三方资源 脚本执行优化 CSS优化 JavaScript执行优化 渲染优化 SEO(搜索引擎优化 ...
- Google 最新的性能优化方案,LCP 提升30%!
大家好,我是 ConardLi. 网页的性能,大部分情况下是影响用户使用体验的第一要素,特别是对于很多电商.金融网站,可能几秒的性能提升就意味着更大的转化率和收益. 所以优化网页的性能,一直是前端工程 ...
- T 沙龙移动实践日总结 ——享物说大流量⼩程序的架构与性能优化方案
PPT 和 视频 视频地址 PPT地址 下面是 T 沙龙小编对分享的一些总结: 第一位分享嘉宾是来自享物说的 Rolland Safort(中文名:塞福),目前负责享物说小程序开发工作,有多年前端工作 ...
- Mysql性能优化方案
2019独角兽企业重金招聘Python工程师标准>>> 内容简介:这是一篇关于mysql 性能优化的文章.网上有不少mysql 性能优化方案,不过,mysql的优化同sql serv ...
- kvm性能优化方案---cpu/内存/磁盘/网络
kvm性能优化方案 kvm性能优化,主要集中在cpu.内存.磁盘.网络,4个方面,当然对于这里面的优化,也是要分场景的,不同的场景其优化方向也是不同的,下面具体聊聊这4个方面的优化细节. cpu 在介 ...
- 人人都能掌握的Java服务端性能优化方案
转载自 人人都能掌握的Java服务端性能优化方案 作为一个Java后端开发,我们写出的大部分代码都决定着用户的使用体验.如果我们的代码性能不好,那么用户在访问我们的网站时就要浪费一些时间等待服务器的响 ...
- react性能优化方案_React灵敏且性能卓越的Spray + Akka解决方案,以“在Java和Node.js中发挥并发性和性能”...
react性能优化方案 在我以前的文章中,我研究了一个虚拟的交易引擎,并将基于Java的阻止解决方案与基于Node.js的非阻止解决方案进行了比较. 在文章的结尾,我写道: 我怀疑随着Node.js的 ...
- 小猿圈web前端之网站性能优化方案
现在前端不仅要能做出一个网站页面,还要把这个页面做的炫酷,那需要很大程度的优化,那么怎么优化才更好呢?小猿圈总结了一下自己优化的方案,感兴趣的朋友可以看一下. 一般网站优化都是优化后台,如接口的响应时 ...
- mysql 性能优化方案
网 上有不少mysql 性能优化方案,不过,mysql的优化同sql server相比,更为麻烦与复杂,同样的设置,在不同的环境下 ,由于内存,访问量,读写频率,数据差异等等情况,可能会出现不同的结果 ...
- 用友u8服务器优化,用友U8erp软件运行的性能优化方案图文教程
今天一定要给大家分享一下用友U8erp软件运行的性能优化方案图文教程,以下方案来自用友软件官方维护工程师反馈在在处理客户问题的时候,有一类问题较为挠头,就是诸如用友U8服务器效率低下的问题.比如用友U ...
最新文章
- 多传感器融合之滤波(二)EKF
- HTTP客户端连接,选择HttpClient还是OkHttp?
- cas无法使用_并发编程中cas的这三大问题你知道吗?
- RavenDB FS 安装使用 介绍
- 定时器 线程池\进程池
- Java导入导出CSV文件
- WebSocket的初步认识
- 网管实战之使用RSA实现企业安全访问
- leetcode - 56. 合并区间
- linux c ecb 加密解密,OpenSSL对数组加密解密的完整实现代码
- python 中的数据类型
- 一个完整的接口技术解决方案(一)
- usc计算机博士游戏专业,USC工科博士专业排名,必然得仔细的看
- 适合完全初学者的Python自学路线图和学习方法
- 帝国cms弱口令登录(帝国cms后台密码忘记怎么办?)
- 激光雷达的应用及发展前景
- [PS] 没有图层匹配此滤镜 我的图层消失了
- 快速保存网页中所有图片的方法
- 初探Spring Boot + MySQL + jpa
- 穷爸爸与富爸爸读后感(3)
热门文章
- Hive架构及相关函数
- 什么是跳跃表。跳跃表的原理及其实现。
- router跳转外部链接
- vue-baidu-map 百度地图(定位替换图标,添加标签)
- python函数——Bunch配置加载
- 【Redis】Redis缓存穿透和雪崩
- docker 访问宿主机网络
- Android11 亮度自动调节
- 知名互联网公司面试题
- 进击的Objective-C-----------------类目(category),延展(Extension),协议(Protocol),代理(delegate)-委托 时间获取...