日期:2013-4-20 浏览次数:20157次 点赞次数:20

可以说这是我翻译的第一个ActionScript文件,虽然AS3.0吵的很大.但由于有关中文介绍的还并不多见,所以翻译了这篇文章.这篇文章译自:http://labs.macromedia.com/wiki/index.php/ActionScript_3:overview 
由于英语水平和actionscript水平有限,也许有些错误之处,在此恳请斑主和大伙们指出,但同时也希望对大家有所用处。

ActionScript3.0概要

ActionScript 3.0 演变成一门强大的面向对象的编程语言意味着flash平台的重大变革。这种变化也意味着 ActionScript 3.0 将创造性地将语言理想地迅速地建立出适应网络的丰富应用程序, 成为丰富网络应用(Rich Internet Application)项目的本质部分。比较早期的ActionScript版本就已经提供了这种要求为创造真实地参与在线体验的力量和灵活性。ActionScript 3.0 将促进和发展这种性能, 提供发展强大表现和舒适的先进的高度复杂应用, 结合大型数据库以及可移值性的面象对象的代码。拥有 ActionScript 3.0, 开发者可能达到高效执行效率和表现同一的平台。

ActionScript 3.0 基于ECMAScript, ECMAScript是所有编程语言的国际规范化的语言。ActionScript 3.0 同样遵从ECMAScript语言规范。

ActionScript 由嵌入在flash player的ActionScript虚拟机 (AVM)执行。AVM1, 是执行以前版本的ActionScript的虚拟机, 今天变的更加强大的flash平台使得可能创造出交互式媒体和丰富的网络应用。然而, AVM1却在挤压着开发者们的极限—— 他们的项目现在到了要求它变革的时刻了。ActionScript 3.0 带来了一个更加高效的ActionScript 执行虚拟机—AVM2, 它将彻底的脱胎换骨于AVM1 。 它将意味着, ActionScript 3.0执行效率将比以前的ActionScript执行效率高出至少10倍。

新的AVM2 虚拟机将会嵌入于flash player8.5当中, 它将成为执行ActionScript的首先虚拟机。当然旧的AVM1将继续嵌入在flash player8.5当中以兼容以前的ActionScript。

有众多的产品把自身的展示和应用表现于flash player当中,这些产品的动画也经常应用到ActionScript 以增加互动和行为表现他们的产品。 在Macromedia 产品家族, 专业设计师和也许使用 ActionScript 在几个产品当中, 譬如Macromedia flash, Flex, 和Flash media servers创造出内容和应用表现在flash player当中。在Flex2 产品家族, 包括最新的基于Eclipe—的Flex Builder 2 IDE,会是系列产品中第一个应用ActionScript 3.0 的新体验的产品。

ActionScript 3.0的目标

我们需要ActionScript 3.0 提供一个先进的, 与编程模型一致的, 服从业界标准, 以及表现将数量级大于我们过去的执行效能。虽然ActionScript 3.0 代表着flash平台一个新的编程模型,它也将会是一个让开发者熟悉的基础的面对对象的编程语言。

ActionScript3.0的出现将展现出如下目标

安全 – 它支持一定的安全以使得能够让开发者写出明白的, 容易的可维护的代码。
朴素 - 这种语言的直观程度使开发者能够直接读和写项目,而不需要经常参考手册
表现 - 这种语言使开发者写出高效率的和表现性强的复杂项目。
兼容性 - 这种语言抛弃不规范的语言标准以及提供向前兼容以及有意义的交替以符合业界标准。ActionScript 3.0 是规范化了的ActionScript 2.0, 增 加了ECMAScript 其中的XML应用(E4X) ,使得这 种语言融入ECMAScript整体连为一贯。

ActionScript 3.0的特征

ActionScript 3.0 包括二部分: 核心语言和flash player API 。核心语言用于定义编程语言的结构, 譬如声明, 表示, 条件, 循环, 和类型 。flash player API是 由一系列精确定义flash player功能的类组成。

ActionScript 3.0 拥有尽可能的挖掘出计算机剩余性能的新特点。规则表示支持使操作性更加强大的XML。 ECMAScript for XML (E4X) 使得XML 成为通用数据类型, 将大大地简化XML 处理。新的Display ListAPI将使虚拟对象更加的协调一致。 规范化的DOM 事件模型使得那些对象的表示和响应结合的更加强劲。当然这些只是ActionScript3.0许多新的体验当中的一部分。

actionscript3.0语言特点

ActionScript 3.0 的出现是ActionScript 2.0 的核心语言方面融入ECMAScript 以遵守其标准和引入新的改进的一些功能区域的结合。所有这些特点在ActionScript 3.0 语言参考中都有详细的介绍和讨论, 可得到试用版正在Macromedia 实验室。下面是一些其开发者对其方便的地方和用法总结的一些新特点。

增强处理运行错误的能力

应用ActionScript 2.0时, 许多表面上“完美无暇”的运行错误无法得到记载。这使得flash player无法弹出提示错误的对话框, 就象javascript语言在早期的浏览器中所表现的一样。也就是说, 这些缺少的错误报告使得我们不得不花更多精力去调试ActionScript 2.0程序。ActionScript 3.0 引入在编译当中容易出现的更加广泛的错误的情形, 改进的调试方式使得能够健壮地处置应用项目当中的错误。提示的运行错误提供足够的附注(例出出错的源文件)和以数字提示的时间线, 帮助开发者迅速的定位产生错误的位置。

对运行错误的处理方式

在ActionScript 2.0中,运行错误的注释主要提供给开发者一个帮助,所有的帮助方式都是动态的。而在ActionScript且是3.0中, 这些信息将被保存到一定的数量,Flash player将提供时间型检查以提高系统的运行安全。这些信息将记录下来用于监视变量在电脑中的运行情况, 以使得开发者能够让自己的应用项目得到改进以减少对内存的使用。

密封的类

ActionScript 3.0 将引入密封的类的概念。在编译时间内的的密封类拥有唯一固定的特征和方法,其它的特征和方法不可能被加入。这使得比较严密的编译时间检查成为可能, 创造出健壮的项目。因而它当然可以提高对内存的使用效率, 因为不需要为每一个对象实例增加内在的杂乱指令。当然动态类依然可以使用只要声明为dynamic的关键字。

代理方式

在ActionScript 3.0中事件处理变的更加简化归功于它的嵌入式代理方式。而在ActionScript 2.0中, 方法关闭后并没有记住什么对象事例引用了它们, 当调用已经关闭的方法时将导致意想不到的后果。 Mx.utils.Delegate 类经常被使用,使用它时, 你写了代码如下:
myButton.addEventListener(“click”, Delegate.create(this, someMethod)); Delegate.create(this, someMethod)
在AS3.0中,这个类不再需要被引入, 当方法关闭时将自动地记住它的原始对象实例。现在, 你可以简单地写为: myButton.addEventListener(“click”, someMethod);

ECMAScript 中的 XML (E4X)

ActionScript 3.0 特点之一是全面支持ECMAScript中的 XML (E4X), 最新的规范标准为ECMA-357 。E4X 提供一种自然, 流利的语言使得能够快速的构造XML 。而不是象传统XML的解析接口一样, E4X使得XML成为通用的数据类型。E4X 简化操作XML将大大的减少相当 数量的代码以适用应用项目需要的发展。在这个网站你能学到更多关于E4X 的规格