程序员人生 网站导航

Javascript 大数组的分时优化处理

栏目:jscript时间:2013-10-20 18:22:43

灵感来自 Nicholas C. Zakas 的 Timed array processing in JavaScript.

做了个加载大容量表格数据的实例:array-processing.html

几点说明:

  1. timedChunk 函数是精华,里面的 50ms 来自 Response Time Overview 中的调查结果:100ms 内的响应能让用户感觉非常流畅。50ms 是 Nicholas 针对 JavaScript 得出的最佳经验值。
  2. setTimeout 延时 25ms, 是因为浏览器的时间分辨率问题。25ms 可以保证主流浏览器都顺畅(有喘息的机会去更新 UI)。
  3. 上面的实例,传统方式加载会让浏览器在加载数据期间,无法更新界面和响应任何操作。采用分时加载,则可以让浏览器始终保持可响应状态,提升界面流畅性和用户体验。
  4. 顺便八卦:Safari 4 和 Chrome 2 真不是吹的,速度嗖嗖的。相比,Firefox 和 IE 慢得够可以。
  5. Opera 依旧保持怪胎特性,传统方式加载也能保持界面的更新和响应,可惜速度不佳,喜忧参半。
  6. 最后,很钦佩 Nicholas C. Zakas. 短短的一段代码,蕴含了博学的可用性知识 + 专业的 JS 技能 + 细心的疯狂测试。如此牛人,实在是学习的绝佳榜样。

出处:http://lifesinger.org

------分隔线----------------------------
------分隔线----------------------------

最新技术推荐