第2章 ActionScript3.0语言入门
2.1 ActionScript 3.0语言概述
ActionScript是Adobe Flash Player和Adobe AIR运行时环境的编程语言,由嵌入在Flash Player中的ActionScript虚拟机(AVM)执行。ActionScript代码通常由编译器(如Adobe Flash CS4 Professional或Adobe Flex Builder的内置编译器或Adobe Flex SDK中提供的编辑器)编译为“字节代码格式”(一种由计算机编写并且计算机能够理解的编程语言),字节码嵌入在SWF文件中,swf文件由Flash Player和AIR执行。
ActionScript 1.0最初随Flash 5一起发布,这是第一个完全可编程的版本。Flash 6增加了几个内置函数,允许通过程序更好地控制动画元素。在Flash 7中引入了ActionScript 2.0,这是一种强类型的语言,支持基于类的编程特性,如继承、接口和严格的数据类型。Flash 8进一步扩展了ActionScript 2,添加了新的类库及用于在运行时控制位图数据和文件上传的API。
ActionScript语言也是一种基于ECMAScript的编程语言(ECMAScript是所有编程语言的国际规范化的语言),ActionScript 3.0符合ECMAScript Language Specification第3版。它还包含基于ECMAScript Edition 4的功能,如类、包和名称空间;可选的静态类型;生成器和迭代器;以及非结构化赋值(Destructuring Assignments)。随着Web应用程序项目需求的增长,也要求ActionScript引擎有重大的突破。ActionScript 3.0引入了一个新的高度优化的ActionScript Virtual Machine(AVM2),与AVM1相比,AVM2的性能有了显著的提高。这使ActionScript 3.0代码的执行速度几乎比以前的ActionScript代码快了10倍。Flash Player 9中包含AVM2(ActionScript 3.0的脚本语言引擎),设计它的目的是提供互联网应用程序开发人员所需的性能和特性。为了向后兼容现有的内容,Flash Player将继续支持AVM1。
有许多产品都生成以Flash Player Runtime为目标的内容和应用程序,包括YouTube、Flickr、SWiSH和ScreenTime。这些产品能够利用ActionScript在自己的输出中添加交互行为。在Adobe产品系列中,专业设计人员可以在几种工具和服务器中使用ActionScript,如Flash、Flex和Flash Media Server,从而为Flash Player Runtime创建内容和应用程序。Flex产品系列(包括基于Eclipse的新的Flex Builder 3 IDE)是能够使用ActionScript 3.0新功能的产品系列。