3

ECMAScript 与 JavaScript

  • ECMAScript 是一套脚本语言的规范,内部编号 ECMA-262
  • 该规范由 Ecma(European Computer Manufacturers Association) 制定
  • 规范保证开发者按照规范编写的代码能在大部分浏览器中正常工作,因为这些浏览器约定去遵守规范
  • JavaScript,JScript 和 ActionScript 都是基于该规范的实现
  • 阅读 ECMAScript 规范,你知道如何创造一个脚本语言
  • 阅读 JavaScript 文档,你知道如何使用一个脚本语言

TC39

TC39(Technical Committee 39) 是 ECMAScript 规范的制定者

规范制定的过程

  • Stage 0: strawman

    该阶段是一个开放提交阶段,任何在TC39注册过的贡献都或TC39成员都可以进行提交。提交内容可以是一个提议、想法、初步描述

  • Stage 1: proposal

    该阶段是对所提交新特性的正式建议。在这个阶段需具备以下条件:

    • TC39指定一名成员作为Champion
    • TC39审阅通过
    • 有实现的 Demo 或者 Polyfill
    • 初步编写标准,包括:问题描述、解决方案示例、语法语义API、关键的算法及抽象、实现在的复杂度等
  • Stage 2: draft

    该阶段是会出现标准中的第一个版本。在这个阶段必须要具备以下条件:

    • 更规范化语法特性和语意的说明,并使用ECMAScript标准的正式语言描述该特性的语法、语义、API
    • 该特性应该有两个实验性的实现,其中一个可以基于Babel等转译器实现
  • Stage 3: candidate

    该阶段的提议已接近完成,只需要得到提议实现方的反馈,并由用户来进一步推动。在这个阶段应具备以下条件:

    • 编写Test 262测试例,且至少2个用例通过测试
    • TC39指定的审稿人审核通过
    • 开发者的足够认可
  • Stage 4: finished

    该阶段的会被包括到标准之中。在这个阶段应具备以下条件:

    • Test 262验收测试通过
    • 两个符合规范的实现通过
    • TC39审核通过
    • 开发者的支持和认可

版本命令规则使用 ECMAScript+年份 的形式

JavaScript 引擎

执行 JavaScript 代码的程序

  • V8 in Chrome
  • SpiderMonkey in Firefox
  • Chakra in Edge

引擎决定了代码执行的效率

JavaScript runtime

不同的运行环境提供了不同的 API,供 JavaScript 使用

W3C

W3C(World Wide Web Consortium) 是制定万维网标准的组织

这些标准包括 CSS、DOM、HTML 等等

W3C制定标准的过程

  • Working draft / WD / 工作草案
  • Candidate recommendation / CR / 候选推荐规范
  • Proposed recommendation / PR / 提名推荐规范
  • W3C recommendation / REC / 正式推荐规范

WHATWG

WHATWG(Web Hypertext Application Technology Working Group) 是另一个制定 HTML 及其相关技术标准的组织

WHATWG 制定的标准称为 "HTML Living Standard",W3C 致力于发布一个“定稿”的 HTML5 标准,而 WHATWG 则倾向于让标准不断发展,仅发布 HTML 的当前实时版本(Living Standard)

参考资料

有用资源


nbb3210
436 声望31 粉丝

优雅地使用JavaScript解决问题