ECMAscript v.s. Javascript
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)
ECMAscript v.s. Javascript的更多相关文章
- JavaScript异步编程(1)- ECMAScript 6的Promise对象
JavaScript的Callback机制深入人心.而ECMAScript的世界同样充斥的各种异步操作(异步IO.setTimeout等).异步和Callback的搭载很容易就衍生"回调金字 ...
- JavaScript的组成—ECMAScript、BOM和DOM
JavaScript 是一种基于 ECMAScript 规范的脚本语言,并在此基础上进行了自己的封装.ECMAScript 不是一种编程语言,仅仅是一种脚本语言规范,由欧洲计算机协会制定和发布,任 ...
- JavaScript ECMAScript版本介绍
1. 介绍 1.1 什么是ECMAScript ECMAScript,简称ES,是由Ecma国际(前身为欧洲计算机制造商协会,英文名称是European Computer Manufacturers ...
- ECMAScript和JavaScript的区别,ECMAScript发展更新历史,ECMAScript5和ECMAScript6的新特性及浏览器支持情况,ECMAScript 5/ECMAScript 2015正式发布
ECMAScript和JavaScript的区别 ECMA是European Computer Manufacturers Association的缩写,即欧洲计算机制造商协会.欧洲计算机制造商协会是 ...
- ECMAScript与JavaScript
ECMAScript发展史: 1997 1998.6 1999.12 2008.7 2009.12 2015.61996年11月 javaScript创造者Netscape公司将javaScript提 ...
- JavaScript之ECMAScript
JavaScript脚本语言, 运行在浏览器上,无需编译, 轻量级的语言. 功能:让页面有执行逻辑的功能, 可以产生一些动态的效果 JavaScript = ECMAScript + BOM + DO ...
- JavaScript和JSCript的标准ECMAScript
相信很多人都听过JavaScript(简称JS),甚至学过JavaScript.但是却没听过ECMAScript(简称:EC). ECMAScript其实是JavaScript的标准,也就是JavaS ...
- JavaScript 实现 (ECMAScript 6)
JavaScript 的核心 ECMAScript 描述了该语言的语法和基本对象: DOM 描述了处理网页内容的方法和接口: BOM 描述了与浏览器进行交互的方法和接口. ECMAScript.DOM ...
- JavaScript第一天
1.静态的网页技术和动态的网页技术 静态网页是相对于动态网页而言,是指没有后台数据库.不含程序和不可交互的网页.你编的是什么它显示的就是什么.不会有任何改变.静态网页相对更新起来比较麻烦,适用于一般更 ...
随机推荐
- JavaScript获取Select下拉框Option的Value和Text值的方法
Js获取select下拉列表框各个Option的Value值相对比较容易,不过获取Text值却有点麻烦,对于一个初学JavaScript的 新手来说,可能一时还无从下手,那么就请看下本文的方法,以一个 ...
- ora-01445 无法从不带保留关键字的表的联接视图中选择 ROWID 或采样
ora-01445无法从不带保留关键字的表的联接视图中选择 ROWID 或采样 从网上找了很多资料,许多都是没结贴的,说什么的都有,排查了一下sql 发现各个段的left join都没有错误. 有一个 ...
- C51 库函数
C-51软件包的库包含标准的应用程序,每个函数都在相应的头文件(.h)中有原型声明.如果使用库函数,必须在源程序中用预编译指令定义与该函数相关的头文件(包含了该函数的原型声明).例如:#include ...
- http状态码有那些?分别代表是什么意思
http状态码有那些?分别代表是什么意思? 简单版 [ 100 Continue 继续,一般在发送post请求时,已发送了http header之后服务端将返回此信息,表示确认,之后发送具体参数信息 ...
- EF 5.0 帮助类 增删改查
原文地址:http://www.cnblogs.com/luomingui/p/3362813.html EF 5.0 帮助类 加入命名空间: using System; using System.D ...
- MD中bitmap源代码分析--入题概述
在MD模块中,各级raid都使用的一份bitmap的源码,也就是说共用一种bitmap的流程,下面以raid1的使用为例来分析bitmap的工作原理. 在使用raid1磁盘阵列的时候,对于数据的可靠性 ...
- 计算N!的质因数2的个数
容易得出N!质因数2的个数 = [N / 2] + [N / 4] + [N / 8] + .... 下面通过一个简单的例子来推导一下过程:N = 10101(二进制表示)现在我们跟踪最高位的1,不考 ...
- DFBle.swift
//// DFBle.swift// DFBle//// Created by LeeYaping on 15/9/2.// Copyright (c) 2015年 lisper. All r ...
- POJ 2502 Subway(迪杰斯特拉)
Subway Time Limit: 1000MS Memory Limit: 65536K Total Submissions: 6692 Accepted: 2177 Descriptio ...
- C#位移运算符
代码如下: /// <summary> /// 位移运算符"<<"左位移运算符,">>"右位移运算符 /// 在进行位移运算 ...