ActionScript3简介ActionScript 是针对 Adobe Flash Player 运行时环境的编程语言,它在 Flash 内容和应用程序中实现了交互性、数据处理以及其它许多功能。
ActionScript 是由 Flash Player 中的 ActionScript 虚拟机 (AVM) 来执行的。ActionScript 代码通常被编译器编译成"字节码格式"(一种由计算机编写且能够为计算机所理解的编程语言),如 Adobe Flash CS3 Professional 或 Adobe® Flex™ Builder™ 的内置编译器或 Adobe® Flex™ SDK 和 Flex™ Data Services 中提供的编译器。字节码嵌入 SWF 文件中,SWF 文件由运行时环境 Flash Player 执行。
ActionScript 3.0 提供了可靠的编程模型,具备面向对象编程的基本知识的开发人员对此模型会感到似曾相识。ActionScript 3.0 中的一些主要功能包括:
一个新增的 ActionScript 虚拟机,称为 AVM2,它使用全新的字节码指令集,可使性能显著提高
一个更为先进的编译器代码库,它更为严格地遵循 ECMAScript (ECMA 262) 标准,并且相对于早期的编译器版本,可执行更深入的优化
一个扩展并改进的应用程序编程接口 (API),拥有对对象的低级控制和真正意义上的面向对象的模型
一种基于即将发布的 ECMAScript (ECMA-262) 第 4 版草案语言规范的核心语言
一个基于 ECMAScript for XML (E4X) 规范(ECMA-357 第 2 版)的 XML API。E4X 是 ECMAScript 的一种语言扩展,它将 XML 添加为语言的本机数据类型。
一个基于文档对象模型 (DOM) 第 3 级事件规范的事件模型
版本历史ActionScript 1.0 (Flash 1.0-6.0) 对应的虚拟机为 AVM1 , 基于 ECMA-262 V2 (相当于JavaScript 1.3)
ActionScript 2.0 (Flash 7.0-8.0) 对应的虚拟机为 AVM1 , 基于 ECMA-262 V3 (相当于JavaScript 1.5)
ActionScript 3.0 (Flash 9.0-?) 对应的虚拟机为 AVM2,基于 ECMA-262 V4 (相当于JavaScript 2.0)
ActionScript 3.0 的优点ActionScript 3.0 的脚本编写功能超越了 ActionScript 的早期版本。它旨在方便创建拥有大型数据集和面向对象的可重用代码库的高度复杂应用程序。虽然 ActionScript 3.0 对于在 Adobe Flash Player 9 中运行的内容并不是必需的,但它使用新型的虚拟机 AVM2 实现了性能的改善。ActionScript 3.0 代码的执行速度可以比旧式 ActionScript 代码快 10 倍。
旧版本的 ActionScript 虚拟机 AVM1 执行 ActionScript 1.0 和 ActionScript 2.0 代码。为了向后兼容现有内容和旧内容,Flash Player 9 支持 AVM1。
ActionScript 3.0 中的新增功能虽然 ActionScript 3.0 包含 ActionScript 编程人员所熟悉的许多类和功能,但 ActionScript 3.0 在架构和概念上是区别于早期的 ActionScript 版本的。ActionScript 3.0 中的改进部分包括新增的核心语言功能,以及能够更好地控制低级对象的改进 Flash Player API。