【JAVASCRIPT】ECMAScrip (转)
部分ECMAScript术语
ECMAScript
Sun(现在的Oracle)公司持有着“Java”和“JavaScript”的商标.这就让微软不得不把自己的JavaScript方言称之为“JScript”.然后,在这门语言被标准化的时候,就必须使用一个与二者都不同的名字.“ECMAScript”就这样诞生了,这个名字的来由是因为执行标准化的组织是Ecma国际.通常来说,术语“ECMAScript”和“JavaScript”指的是同一个东西.但如果把JavaScript看成是“Mozilla或其他组织的ECMAScript实现”,那么ECMAScript就是实现JavaScript所依据的标准.术语“ECMAScript”也用来描述语言版本(比如ECMAScript 5).
ECMA-262 / ECMAScript 5
Ecma国际 (一个标准化组织)创建了ECMA-262规范,这个规范就是ECMAScript语言的官方标准.如果有人提到ECMAScript 5,那么他指的就是ECMA-262规范的第五版,同时也是当前最新的正式规范.
Ecma第39号技术委员会 (TC39)
是一组开发ECMA-262标准规范的人(Brendan Eich和其他一些人).
ECMAScript的历史
ECMAScript 3 (1999年12月)
这是目前大部分浏览器都支持的ECMAScript版本.该版本引入了很多的新特性,这些特性已经成为该语言不可或缺的一部分:ECMAScript 4 (2008年7月被废弃)
ECMAScript 4是作为下一代的JavaScript被开发的,同时有一个用ML写成的原型.但是,TC39委员会并不完全同意它的一些新特性.为了防止陷入僵局, 委员会在2008年7月底会晤,并产生了一项协议,协议内容总结为以下四点[2]:- 开发一个增量式更新的ECMAScript (后来成为了ECMAScript 5).
- 开发一个重要的新版本规范,要比ECMAScript 4更先进,但会比ECMAScript 3之后的那个版本更新跨度更大.该版本的开发代号被定为Harmony,因为这场会议的的性质就是倡导我们要和谐发展.
- ECMAScript 4中引入的一些特性将被丢弃:包,命名空间,早期绑定.
- 其他的想法要在成为所有的TC39成员的共识下开发.
ECMAScript 5 (2009年12月)
此版本带来了一些标准库的增强,甚至通过引入严格模式更新了语言的语义.ECMAScript.next (计划于2013年)
从问世以来,这个版本就显得有点太过雄心勃勃了,所以它的特性被分成了两组,第一组是那些将要成为ECMAScript 5下一个版本的特性.这一版本的开发代号称之为ECMAScript.next,并且很可能成为ECMAScript 6.第二组是Harmony特性,这些特性被认为是准备还不够充分或者重要程度还不够,所以不能进入ECMAScript.next.但仍然会进入某个更新的ECMAScript版本中,比如ECMAScript.next.next.当前的目标是在2013年完成ECMAScript.next,在此之前,浏览器(主要是火狐)要实现部分规范.
总结
ECMAScript和JavaScript的关系.ECMAScript是语言的规范.而JavaScript是规范的实现,Microsoft的JScript是另外一个实现
即将到来的ECMAScript版本:
- ECMAScript.next是ECMAScript下一版规范的开发代号(code name).使用这个术语就意味着当前讨论的特性可能会也可能不会被加入最终的规范中.
- ECMAScript 6是ECMAScript.next的实际(最终)名称.使用这个术语就意味着当前讨论的特性一定会被添加在最终的规范中.
- ECMAScript Harmony是ECMAScript.next的超集,意味着“ECMAScript 5之后的新特性”.这些特性可能会被添加到ECMAScript.next中,也可能被添加到ECMAScript.next.next或者更新的版本中.
资料
- ECMAScript 6入门(阮一峰) http://es6.ruanyifeng.com/#docs/intro
【JAVASCRIPT】ECMAScrip (转)的更多相关文章
- 3、JavaScript
1. JavaScript简介 1.1. JavaScript由来 Netscape 发明了 JavaScript JavaScript由Netscape 在1995年发明.早期的主要目的是处理 ...
- 从零开始学JavaScript一(简介)
概要:JavaScript的组成. 各个组成部分的作用 . 一.JavaScript是一种专为与网页交互而设计的脚本语言,它的的组成 Javascript ECMAScript(核心) DOM ...
- JavaScript 核心
我们首先来看一下对象[Object]的概念,这也是 ECMASript 中最基本的概念. 对象 Object ECMAScript 是一门高度抽象的面向对象(object-oriented)语言,用以 ...
- javascript浮点值运算舍入误差
问题 在javascript中整数和浮点数都属于Number数据类型(简单数据类型中的一种),我们经常会发现在打印1.0这样的浮点数的结果是1而非1.0,这是由于保存浮点数的内存空间是保存整数值的两倍 ...
- JAVA企业级开发-JavaScript(02)
一.JavaScript介绍 Javascript语言诞生主要是完成页面的数据验证.因此它运行在客户端,需要运行浏览器来解析执行JavaScript代码. 特点: 交互性(它可以做的就是信息的动态交互 ...
- javascript系列-Class1.JavaScript基础
欢迎加入前端交流群来py:749539640 转载请标明出处! JavaScript概述 一个页面分成三个部分,结构,样式,行为. HTML代表了页面的结 ...
- JavaScript之父Brendan Eich,Clojure 创建者Rich Hickey,Python创建者Van Rossum等编程大牛对程序员的职业建议
软件开发是现时很火的职业.据美国劳动局发布的一项统计数据显示,从2014年至2024年,美国就业市场对开发人员的需求量将增长17%,而这个增长率比起所有职业的平均需求量高出了7%.很多人年轻人会选择编 ...
- javascript中的Array对象 —— 数组的合并、转换、迭代、排序、堆栈
Array 是javascript中经常用到的数据类型.javascript 的数组其他语言中数组的最大的区别是其每个数组项都可以保存任何类型的数据.本文主要讨论javascript中数组的声明.转换 ...
- Javascript 的执行环境(execution context)和作用域(scope)及垃圾回收
执行环境有全局执行环境和函数执行环境之分,每次进入一个新执行环境,都会创建一个搜索变量和函数的作用域链.函数的局部环境不仅有权访问函数作用于中的变量,而且可以访问其外部环境,直到全局环境.全局执行环境 ...
随机推荐
- Java(14)继承
1.继承(extends) 1.1 继承:遗传 1.2 语法 public class 子类 extends 父类{ } public class Dog extends Pet{ } public ...
- 收集一些工作中常用的经典SQL语句
作为一枚程序员来说和数据库打交道是不可避免的,现收集一下工作中常用的SQL语句,希望能给大家带来一些帮助,当然不全面,欢迎补充! 1.执行插入语句,获取自动生成的递增的ID值 INSERT INTO ...
- centos文件权限详解
假设回显信息为 ①-②rws③r-x④r-x ⑤1 ⑥root ⑦root ⑧430540 ⑨Dec 20 18:27 ⑩/usr/sbin/passwd ,现在逐一分析其内容. ①. 首字符-,表 ...
- /dev/shm 与 tmpfs
1./dev/shm 与 tmpfs /dev/shm/是linux下一个目录,/dev/shm目录不在磁盘上,而是在内存里, 类型为 tmpfs ,因此使用linux /dev/shm/ 的效率非常 ...
- Mac 性能测试环境搭建——理论篇
此篇为博主原创内容,若转载请写明出处,谢谢! 前言在搭建之初,我们要思考的2个点:1.性能怎么测试?2.性能的测试环境如何搭建(该如何去做)?1.什么是性能? 个人理解为:合理的架构.低耦合.高 ...
- [编织消息框架][netty源码分析]8 Channel 实现类NioSocketChannel职责与实现
Unsafe是托委访问socket,那么Channel是直接提供给开发者使用的 Channel 主要有两个实现 NioServerSocketChannel同NioSocketChannel 致于其它 ...
- Spring定时任务实例
一.Quartz介绍 在企业应用中,我们经常会碰到时间任务调度的需求,比如每天凌晨生成前天报表,每小时生成一次汇总数据等等.Quartz是出了名的任务调度框架,它可以与J2SE和J2EE应用程序相结合 ...
- 在CentOS7下安装jekyll
[root@k8smaster nodejs]# yum install gem ruby ruby-devel -y [root@k8smaster nodejs]# gem sources -l ...
- mysql 查询缓存配置和查看
Mysql 查询缓存 查询缓存的作用就是当查询接收到一个和之前同样的查询,服务器将会从查询缓存种检索结果,而不是再次分析和执行上次的查询.这样就大大提高了性能,节省时间. 1.配置查询缓存 修改配置文 ...
- Java基础(7)-异常处理
异常处理 异常继承层次 Throwable |-Error 致命的错误无法处理 |-Exception |-IOException 系统资源读取失败等错误 |-RuntimeException(未检异 ...