博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
ECMAscript v.s. Javascript
阅读量:5130 次
发布时间:2019-06-13

本文共 958 字,大约阅读时间需要 3 分钟。

ECMAscript是一种中性的语言,中性表示与所处环境(宿主环境)无关(客户端/服务器/浏览器),它仅仅是一个纯粹意义上的语言。

ECMAscript-262定义了这门语言的基础,或者说规则(比如说这门语言语法,里面有什么基础类型,类型间如何转换,变量行为,函数行为),就像定义了一个接口。

如何实现这些规则就是宿主环境的事情了,当然宿主环境不仅要实现定义的规则,也会用这些规则做一些特定的事情,这些事情是没有定义在ECMAscript中的扩展。

比如说Web浏览器中的Javascript:

Javascript = ECMAscript + DOM + BOM

  • ECMAscript:语言核心
  • DOM:文档对象模型 (操作HTML页面内容)
  • BOM:浏览器对象模型 (操作浏览器行为)

除了Javascript,还有其他宿主环境也实现了ECMAscript,比如Adobe的Actionscript。(语言定义出来是写诗歌还是小说?)

题外话:如何定义规则不是件容易的事情,特别当这个规则是一门语言,这些规则要互相呼应,不能自相矛盾,规则定义太强会失去灵活性,定义太弱会不严谨不安全,这些都是直接影响到语言的发展和未来,如何把握这个度就是一门艺术。

 

版本

  • ECMAscript v1:仅仅是Netscape的Javascript1.1除去浏览器部分代码。
  • ECAMScript v2:仅仅是对第一版进行编辑加工,不会作为兼容性的标准。
  • ECAMScript v3:对标准第一次真正的修改,字符串处理,错误定义,数值输出,正则表达式,控制语句,异常处理,这才成为一门真正的语言。
  • ECAMScript v4:基本上定义了一门新的语言,强类型,新语句,新数据结构,真正的类,经典继承,数据交互方式。
  • ECAMScript v3.1:组委会觉得4改动太大!提出了3.1的替代建议,4没有发布就放弃了
  • ECAMScript v5: 澄清3中已知的歧义,添加新功能:JSON对象,继承的方法,高级属性定义,严格模式。

目前浏览器中的Javascript都能兼容v5(IE9,Firefox4,Chrome,Safari)

转载于:https://www.cnblogs.com/kentax/p/6079550.html

你可能感兴趣的文章
201421410014蒋佳奇
查看>>
导入导出数据库和导入导出数据库表
查看>>
linux下操作mysql
查看>>
【03月04日】A股滚动市盈率PE历史新低排名
查看>>
Xcode5和ObjC新特性
查看>>
jvm slot复用
查看>>
高并发系统数据库设计
查看>>
hdu 1875 畅通工程再续
查看>>
CentOs6和Centos7安装docker
查看>>
TCP/ip协议栈之内核调优
查看>>
6 spark 存储体系 --内存管理
查看>>
PDF/WORD/EXCEL 图片预览
查看>>
onRetainNonConfigurationInstance方法状态保存
查看>>
DevExpress组件之——TreeList组件
查看>>
P2916 [USACO08NOV]安慰奶牛Cheering up the Cow
查看>>
PV操作(转)
查看>>
软考笔记第六天之各排序算法的实现
查看>>
修补PHPRPC_Client中(JAVA版本),创建Socket连接时Timeout不起作用
查看>>
第五次作业160809308周子济
查看>>
Latex在texstudio中的参考文献编译
查看>>