javascript和用户界面更新在同一个进程中运行,因此一次只能处理一件事情。这意味着当javascript代码正在运行时,用户界面不能相应输入,反之亦然。高效的管理UI线程就是要确保javascript不能运行太长时间,以免影响用户体验。最后,请牢记以下几点:
1.任何javascript任务都不应当执行超过100毫秒。过长的运行时间会导致UI更新出现明显的延迟,从而对用户体验产生负面影响。
2.javascript运行期间,浏览器响应用户交互的行为存在差异。无论如何,javascript长时间运行将导致用户体验变得混乱和脱节。
3.定时器可用来安排代码延迟执行,它使得你可以把长时间运行脚本分解成一系列的小任务。通常来说批量多个小任务比单个处理大任务要快。
4.web Workers是新版浏览器支持的特性,它允许你在UI线程外部执行javascript代码,从而避免锁定UI。
Web应用越复杂,积极主动的管理UI线程就越重要。即使javascript代码再重要,也不应该影响用户体验。