关于ECMAScript
作者:己末 日期:2008-12-25 09:16
脚本编程语言是一种基于宿主环境执行的解释性轻型编程语言,很多应用程序和操作系统都可以作为脚本编程语言的宿主环境,如Web浏览器、Web服务器、Flash、Windows、Linux、Unix等都提供了相应的脚本解释程序以实现脚本宿主功能。有些脚本宿主环境同时支持多种类型的脚本编程语言,如IE浏览器、Windows操作系统等。
ECMAScrip规范是为了解决早期Web浏览器支持的Javascript脚本编程语言而制定的技术标准。按照该标准规范实现的脚本编程语言可以在不同的宿主环境中存在,所编写的脚本代码可以在不同的宿主环境中执行而得到相同的结果,由此实现了跨平台特性和兼容性要求。对于Web浏览器而言,包含在同一个页面中的符合ECMAScript规范的Javascript脚本代码不经任何修改就可以在不同的符合ECMAScript规范的浏览器中执行并得到相同的执行结果。
按照ECMAScrip规范实现的脚本编程语言主要有:
- 在广大Web浏览器/Web服务器等宿主环境中实现的Javascript
- 在Microsoft Internet Explorer(IE浏览器)/IIS中实现的JScript
- 在Adobe/Macromedia的Flash、Director等软件中实现的ActionScript
当前,以上所提及的绝大多数宿主实现的脚本编程语言基本符合ECMA-262规范(第三版)的要求,一些宿主在此基础上进行了有效的扩展以实现更多的功能,如JScript等。这些扩展出来的非ECMAScript特性只能在特定的脚本宿主环境中使用,没有跨平台性和兼容性。因此在设计Web应用程序时应尽可能避免使用这些非ECMAScript特性。而在特定操作系统宿主环境中可能会更多地依赖这些扩展的非ECMAScript特性,以实现大量特定的管理任务。
ECMAScript规范描述了脚本编程语言应实现的基本内容如下:
- 语法
- 数据和变量的类型
- 语句
- 关键字
- 保留字
- 运算符
- 对象
符合ECMA-262规范的脚本编程语言必须实现该规范描述的所有的“类型、值、对象、属性、函数和程序语法及语义”,并且必须支持Unicode字符标准(UCS)。在此基础上,每个具体实现还可以指定“额外的类型、值、对象、属性和函数”,可以定义新的“程序和正则表达式语法”等。
[转]坚持使用 ECMAscript
作者:己末 日期:2007-12-12 10:47
为了诱使开发人员创建在他们自己的浏览器中得到最佳呈现效果的网站,浏览器厂商选择脚本语言作为武器发起了兼容性之战,用户则陷入了页面加载慢和可能存在安全漏洞的泥潭之中。市场推动了这种(不健康的)竞争,显然到了进一步标准化的时候了。看看在那一天到来之前如何保持中立的立场。
ECMAscript(即多数人更熟悉的 JavaScript)有一段有趣的历史,它最初是为了反抗标准出现的。就是说,ECMAScript 基本上和 JavaScript 以及 JScript 是相同的语言,这两种互相竞争的语言分别得到 Netscape 和 Microsoft 的支持。
- 1
