这个章节的标题是 理解 Ajax 性能,但是讲的更多的是从一个比较宽的视野来讨论关于怎么权衡性能优化的问题。
<!-- more -->
优化的目的是降低程序的整体开销,所以我们更应该把重点放在对程序整体开销营销最大的那部分。
程序执行的大部分时间都消耗在循环上,所以,优化那些只执行一次的代码得到的回报微不足道,但是优化内部循环的好处却能达到立竿见影的效果。
优化循环的方法有三种:
另外,循环嵌套越多,可优化的选择越少,减少开销唯一的选择就是减少嵌套循环的层数或者更换算法。
数据包应该尽可能的小,Ajax 应用的常见错误就是把所有的应用数据都发送给浏览器,这样的话会增加浏览器需要处理的数据量,降低了性能。
DOM API 是非常低效的,运行网页程序最大的开销往往是 DOM 而不是 JavaScript。
处理 CSS 是最大的开销,即使你使脚本的速度提升一倍,用户也很难注意到,理解 DOM 的奥秘并减少它的影响比试图给脚本提速效果更好
炫酷的特效会导致不必要的 DOM 操作,特效应该只在确实能够改善用户体验的时候才使用
JavaScript 一直被认为是性能的瓶颈,但通常情况下,瓶颈不是 JavaScript 而是 DOM,所以折腾脚本收效甚微。
因而我们应该尽量避免折腾脚本,要正确的编写程序,避免使用传说中那些能让程序更快的奇技淫巧,除非能证明它们将给应用带来明显的质量提升。