在这篇文章中,它说 ActionScript 3.0 符合 ECMA 第 4 版。但是,ActionScript 3.0 代码看起来不像 JavaScript 并且没有类或扩展,而是看起来像 Java,并且有class
语句,甚至有extend
?
4 回答
Actionscript 3 是在 ECMA 4 规范仍在开发中时设计的。这是不同的;它符合 ECMA 4,但超出了它。
因为有ActionScript 3基于的ECMAScript 4th Edition草案class
等等extends
。
http://en.wikipedia.org/wiki/ECMAScript#ECMAScript.2C_4th_Edition
http://www.ecma-international.org/activities/Languages/Language%20overview.pdf
后来,第 4 版草稿被 ECMAScript Harmony 取代:
http://en.wikipedia.org/wiki/ECMAScript#History_2
有人会说这是商业政治的原因,但你必须对此形成自己的知情意见。
Actionscript 从一开始就符合 ECMA。
您可以将 javascript 和 actionscript 想象为单一标准(即 ECMA)的一个分支,其中 Javascript 倾向于为浏览器增加功能,而 Actionscript 则面向 Flash 开发。
似乎很公平,因为每家公司都曾试图创建自己的版本。例如,考虑Microsoft 的ECMA 版本。
您还可以从您共享的链接中考虑:
为了响应用户对更适合更大和更复杂应用程序的语言的需求,ActionScript 2.0 提供了编译时类型检查和基于类的语法,例如关键字 class 和 extends。
因此,您可以看到大多数更改实际上是用户驱动的,而不是偶然的相似性。
一般来说,符合标准并不意味着只有标准定义的功能必须可用。您可以实施标准以使其符合要求,但您也可以实施其他功能。
您可以将 ECMA 脚本视为一种定义基本语言结构、语法和语义的子集。那么ECMA 只是ActionScript 的一个子集。该语言为该子集添加了广泛的功能。
另一个例子可能是 MySQL。它实现了 SQL 标准,但提供了与标准类似的更多功能。