ActionScript是一种基于ECMAScript(JavaScript的标准化版本)的脚本语言,主要应用于Adobe Flash/Flex平台,用于创建交互式富媒体内容、动画以及复杂的Web应用程序。ActionScript分为两个主要版本:ActionScript 2.0 和 3.0,它们在功能、性能和语法上都有显著的不同。
ActionScript 2.0:
1. **基本语法**:AS2.0基于ECMAScript 3,但不完全兼容。它包含了一些特有的特性,如对象实例化使用`new MovieClip()`而非`new Object()`。
2. **弱类型系统**:变量声明不需要指定类型,可以动态改变变量的数据类型。
3. **事件处理**:使用`onRelease`、`onEnterFrame`等传统事件处理函数,而非现代的addEventListener模型。
4. **面向对象编程**:支持类和继承,但面向对象特性较为有限。
5. **性能**:由于其解释执行的方式,AS2.0的性能相对较低。
6. **Flash Player支持**:AS2.0在Flash Player 8及更早版本中得到支持。
ActionScript 3.0:
1. **强类型系统**:AS3引入了强类型系统,变量声明时必须指定类型,提高了代码的可预测性和稳定性。
2. **事件模型**:使用现代的事件监听器模式,通过`addEventListener`和`removeEventListener`管理事件。
3. **优化的性能**:AS3的性能显著提升,因为它采用了Action Message Format (AMF)和Just-In-Time (JIT)编译技术。
4. **完全符合ECMAScript 4草案**:虽然ES4未被采纳,但AS3吸收了许多其特性,如包、命名空间和访问修饰符。
5. **ActionScript编译器**:使用MXMLC和COMPC编译器,允许编译为SWF或库项目,提高了开发效率。
6. **面向对象编程强化**:AS3提供了更完善的面向对象编程支持,包括接口、包、访问控制和抽象类。
7. **新的类库**:引入了像`flash.display`、`flash.events`和`flash.utils`等丰富的类库,覆盖了图形绘制、网络通信、数据序列化等多个领域。
ActionScript 3.0的开发手册通常会涵盖以下主题:
1. **基础语法**:包括变量、数据类型、运算符、流程控制(条件语句、循环语句)等。
2. **面向对象编程**:类的定义、构造函数、继承、封装、多态等概念。
3. **事件处理**:事件监听器的添加和移除、事件对象、事件流等。
4. **显示列表**:DisplayObject容器结构、Stage、MovieClip和Sprite的区别与使用。
5. **图形与动画**:使用Shape、BitmapData、Graphics API创建图形和动画。
6. **文本处理**:TextField和TextFormat对象的使用,以及高级的TextLayout框架。
7. **声音和视频**:处理音频和视频的API,如Sound和Video类。
8. **网络通信**:Socket、URLLoader、XMLSocket等类实现HTTP、FTP、XML等数据交换。
9. **本地存储**:使用SharedObject进行客户端数据持久化。
10. **错误处理**:异常处理机制和try-catch语句。
11. **时间轴控制**:通过ActionScript控制SWF的时间轴。
12. **调试工具**:使用fdb或Flash Professional的内置调试器进行问题排查。
这份"ActionScript2.0 和 3.0开发手册chm版"将提供详尽的指南,帮助开发者理解并掌握这两种版本的ActionScript,从而在创建富媒体内容和应用程序时更加得心应手。