Javascript 大數組的分時優化處理
來源:程序員人生 發布時間:2013-10-20 18:22:43 閱讀次數:2677次
靈感來自 Nicholas C. Zakas 的 Timed array processing in JavaScript.
做了個加載大容量表格數據的實例:array-processing.html
幾點說明:
- timedChunk 函數是精華,里面的 50ms 來自 Response Time Overview 中的調查結果:100ms 內的響應能讓用戶感覺非常流暢。50ms 是 Nicholas 針對 JavaScript 得出的最佳經驗值。
- setTimeout 延時 25ms, 是因為瀏覽器的時間分辨率問題。25ms 可以保證主流瀏覽器都順暢(有喘息的機會去更新 UI)。
- 上面的實例,傳統方式加載會讓瀏覽器在加載數據期間,無法更新界面和響應任何操作。采用分時加載,則可以讓瀏覽器始終保持可響應狀態,提升界面流暢性和用戶體驗。
- 順便八卦:Safari 4 和 Chrome 2 真不是吹的,速度嗖嗖的。相比,Firefox 和 IE 慢得夠可以。
- Opera 依舊保持怪胎特性,傳統方式加載也能保持界面的更新和響應,可惜速度不佳,喜憂參半。
- 最后,很欽佩 Nicholas C. Zakas. 短短的一段代碼,蘊含了博學的可用性知識 + 專業的 JS 技能 + 細心的瘋狂測試。如此牛人,實在是學習的絕佳榜樣。
出處:http://lifesinger.org
生活不易,碼農辛苦
如果您覺得本網站對您的學習有所幫助,可以手機掃描二維碼進行捐贈