JavaScript 与 ECMAScript 的关系

最近几个月在写 JavaScript,这门语言看起来很简单,但是如果想深入下去却不容易,它也存在不少令人病垢的地方。对我来说,学习 JS 最大的收获并不仅仅在于多会一门语言,而是打破了以往在面向对象编程中对编程语言的认识。

所以,打算多掌握一些 JS 的特性,并做记录发到这里。虽然有些看起来用不上,但是逐渐理解一门语言的设计思想是很有趣的一件事情。

在 JavaScript 诞生之前,浏览器必须把表单发送到服务端才能确定用户是否填写了某个必填域值,或者验证内容是否合法。直到 1995 年网景的一名员工 Brendan Eich 写了一门语言叫 LiveScript ,才解决这个问题。后来因为当时 Java 很火,想蹭一波热点,改名为 JavaScript 语言,其实它们并没有多大关系。

JavaScript 在 Netscape Navigator 2(一种浏览器) 中首次使用。由于当时普遍还是拨号上网,客户端能够完成基本的验证操作,而不需要经历漫长的服务端响应等待,可以说极大的提高了用户体验。

微软发现 JavaScript 的优点之后,就开始山寨,几个月后开发了一门相似的语言叫 JScript。

这就意味这有两种不同版本的 JavaScript,开发者会面临兼容的问题,未来的差异性可能会更大。

1997 年,网景公司已 JavaScript 1.1 为蓝本的建议提交给欧洲计算机制造协会(ECMA),该协会负责将 JavaScript 标准化为一种通用的、跨平台、供应商中立的脚本语言。

经过数个月的努力完成了 ECMA-262 —— 定义一种名为 ECMAScript(ek-ma-script)的新脚本语言标准。

自此以后,各家浏览器厂商都开始致力于将 ECMAScript 作为各自 JavaScript 的实现标准。

虽然如今 JavaScript 和 ECMAScript 通常被人们用来表达相同的含义,但是 JavaScript 的含义比 ECMA-262 中规定的要多。完整的 JavaScript 实现应该由三部分组成:

  • 核心(ECMAScript)
  • 文档对象模型(DOM)
  • 浏览器模型(BOM)

EMACScript 只是定义了基础的语法和语义的标准,跟具体的浏览器环境没有关系。

也就是说 EMACScript 来源于 JavaScript,又反向作为 JavaScript 的标准。

目前,正式发布的 ECMAScript 为第六版,简称 ES6,语法可参见阮一峰老师的ECMAScript 6入门

关注公众号 iOSTalk,一起成长。

转载于:https://juejin.im/post/5b5fa75bf265da0f774ac355

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值