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性能。  

如需转载,请注明文章出处和来源网址:http://www.divcss5.com/html/h64321.shtml

张贴在3