Javascript 大数组的分时优化处理

灵感来自 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

相关文章

kindeditor4.x代码高亮功能默认使用的是prettify插件,prett...
这一篇我将介绍如何让kindeditor4.x整合SyntaxHighlighter代...
js如何实现弹出form提交表单?(图文+视频)
js怎么获取复选框选中的值
js如何实现倒计时跳转页面
如何用js控制图片放大缩小