如何写好 JavaScript (二) ——《高性能 JavaScript》章节总结

6、加载和执行(Loading and Execution)

JavaScript 和用户界面更新在同一个进程中运行,因此一次只能处理一个事情。这意味着当 JavaScript 代码正在运行时,用户界面不能响应输入,反之亦然。高效地管理 UI 线程就是要确保 JavaScript 不能运行太长时间,以免影响用户体验。最后,请牢记住如下几点:

  • 任何 JavaScript 任务都不应当执行超过 100 毫秒。过长的运行时间会导致 UI 更新出现明显的延迟,从而对用户体验产生负面的影响。

  • JavaScript 运行期间,浏览器响应用户交互的行为存在差异。无论如何,JavaScript 长时间运行将导致用户体验变得混乱和脱节。

  • 定时器可以用来安排代码延迟执行,它使得你可以把长时间运行脚本分解成一系列的任务。

  • Web Workers 是新版浏览器支持的特征,它允许你在 UI 线程外部执行 JavaScript 代码,从而避免锁定 UI。

Web 应用越复杂,积极主动地管理 UI 线程就越重要。即使 JavaScript 代码再重要,也不应该影响用户体验。

7、Ajax

高性能的 Ajax 包括以下方面:了解你项目的具体需求,选择正确的数据格式与之匹配的传输技术。

作为数据格式,纯文本和 HTML 只适用于特定场合,但它们可以节省客户端的 CPU 周期。XML 被广泛应用而且支持良好,但是它十分笨重且解析缓慢。JSON 是轻量级的,解析速度快(被视为原生代码而不是字符串),通用性与 XML 相当。字符风格的自定义格式十分轻量,在解析大量数据集时非常快,但需要编写额外的服务端程序,并在客户端解析。

还有 70% 的精彩内容
最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • Android 自定义View的各种姿势1 Activity的显示之ViewRootImpl详解 Activity...
    passiontim阅读 173,637评论 25 708
  • 最近在阅读这本Nicholas C.Zakas(javascript高级程序设计作者)写的最佳实践、性能优化类的书...
    undefinedR阅读 2,180评论 0 30
  • 后来我真的想忘了你,这是以前的我从来不会想的吧,没有什么刻骨铭心,但是却很累很累,我们彼此用最冷的话推开彼此,我看...
    青梅煮酒柠檬酸阅读 364评论 0 1
  • 昨天去西冲海边,我不会游泳,但也穿上泳衣去海里泡泡海水。 在海里泡海水,享受着蓝天白云,享受着海水的咸味,同时享受...
    芷焮阅读 375评论 0 2