JavaScript的优化心得体会
JavaScript的优化心得体会
性能对任何编程语言或系统来说都是一个很重要的问题,对JavaScript来说更是如此。
● JavaScript代码是从效劳器原封不动地发送到客户端的,代码越大,下载所需的时间和带宽越多。
● JavaScript在浏览器中解释,而不是编译好的。
● JavaScript代码通过DOM API修改HTML页面来与用户交互。对JavaScript 人员来说,这是功能强大的高级模型,但对DOM所做的每个简单修改都将导致浏览器的页面 渲染引擎执行一系列复杂的操作。对DOM看似细微的修改常常导致需要占用比预期的多得多的CPU周期。
诸如G il和基于Ajax的Yahoo! Mail(编写本书时仍处于测试阶段)等Web应用程序都对JavaScript性能提出了挑战。大量的人力被投入到这些Web应用程序中,它们在最新的 计算机中可能运行顺畅,但在较旧的计算机中可能反响迟钝,而在这些旧计算机中运行相应的.桌面应用程序没有任何问题。
3.2.1 缩短JavaScript的下载时间
初学python的体会心得 大多数编程语言要么是编译型的,要么在代码 的计算机中运行,或两者兼而有之。例如,使用诸如Python、PHP或Perl等脚本语言 时,代码在执行前不需要通过网络传输,而在本地运行。诸如Java等其他语言的代码被编译成二进制文件,可在执行前通过网络传输。考虑到这种情况,采用了 大量措施以使二进制格式更加紧凑。
JavaScript不属于上述任何一种情况,其源代码及用到的库将被浏览器按原样下载。因此,JavaScript代码的总体大小以及如何 将代码打包为文件对页面性能 巨大,这在刚开始编码时可能无关紧要,但随着编写的代码和使用的库越来越多,很快将导致下载页面使用的 JavaScript代码时需要相当长的时间。
● 除非每个页面有不同的JavaScript,否那么不要直接将JavaScript代码放在HTML中,而在HTML中引用JavaScript文件。如果一定要在页面中包含JavaScript,这样的代码不能太长。
● 减少在页面中包含的JavaScript文件数。不需要走极端,将所有代码放到一个文件中。包
含不超过5个文件是可行的,但如果包含超过20个文件就要三 思而行。这些数字只是象征性的,如果这是个问题,应进行测试看看在单个页面中使用多少文件将影响 的性能。
● 减少使用的库。如果使用大量不同的库,它们的有些代码很可能是重复的。例如,每个库都可能包含处理DOM 的代码,这是一种浪费,因为这些代码可以 共享。选择一个能够解决大量问题且模块化的库,这样可只包含所需的子集。使用一个主要库的代码还有其他好处:将减少依赖关系,从而降低不兼容的可能 性;升级到新版本更容易;通常来说,大型库将获得更大社区的支持,因此更新更频繁,新特性更多。本章后面的内容将更详细地介绍JavaScript库。
● 完整版适合用于阅读和修改库的代码。它包含缩进和注释,对 人员来说可读性更高。
● 精简版适合用于部署 。这种版本是基于完整版自动创立的:删除了注释和缩进;通常所有代码位于一行中;有时候不暴露的变量被重命名为很短(而晦涩)的名称。
部署 时,务必使用精简版。根据自己编写的代码长度,可能要使用工具创立JavaScript文件的精简版。这样的工具有很多,其中包括开源(GPL)的ECMAScript Cruncher(ESC)。
为完成任何有趣的工作,代码必须修改DOM。然而,修改DOM的开销非常高。显然,为处理修改页面内容的DOM API调用,浏览器必须做大量工作。更令人惊讶的是,调用不修改页面的方法(如)可能非常慢。
另外,请注意遍历大量DOM对象的代码,如遍历documet.all以查特定元素的代码或document. getElementByName()。这些代码的执行时间将随页面的增大而增长。
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。
发表评论