语言结构/语法 | Java 5.0 | ActionScript 3.0 |
类包 | .jar | .swc |
继承 | class Employee extends Person{…} | class Employee extends Person{…} |
变量声明及初始化 | String firstName=”John”; Date shipDate=new Date(); int i; int a, b=10; double salary; | var firstName:String=”John”; var shipDate:Date=new Date(); var i:int; var a:int, b:int=10; var salary:Number; |
未声明的变量 | n/a | var myVar:*; |
变量作用域 | 声明在花括号内的,作用域也在括号内。 声明在函数里的,作用域即在函数里。 成员变量:声明在类里。 没有全局变量。 | 没有花括号作用域,最小的作用域范围是方法。 声明在函数里的,作用域即在函数里。 成员变量:声明在类里。 如果一个变量的声明不在任何类或方法里,那么它就是全局变量。 |
字符串 | 不可变类 | 不可变类 |
分号终结符 | 必须的 | 如果一条语句一行的话,你可以省略分号。 |
严格等于号 | n/a | === 严格不等号:!== |
常量符号 | 关键字 final final int STATE= 1; | 关键字const const STATE:int = 1; |
类型检查 | 静态的 (在编译时检查) | 动态的 (在运行时检查) 和静态的(也叫‘strict mode’, 在 Flex Builder中是默认的) |
类型检查符 | instanceof | is – 检查数据类型, 例如 if (myVar is String){…} |
as操作符 | n/a | 很像is操作符, 但是返回值不是布尔型而是表达式: var orderId:String=”123”; var orderIdN:Number=orderId as Number; trace(orderIdN);//prints 123 |
原始类型 | byte, int, long, float, double,short, boolean, char | 所有的原始类型在ActionScript中都是对象。 Boolean, int, uint, Number, String 下面两行是相同的 var age:int = 25; var age:int = new int(25); |
复杂类型 | n/a | Array, Date, Error, Function, RegExp, XML, and XMLList |
数组的声明与实例化 | int quarterResults[]; quarterResults = new int[4]; int quarterResults[]={25,33,56,84}; | var quarterResults:Array =new Array(); or var quarterResults:Array=[]; var quarterResults:Array= [25, 33, 56, 84]; AS3也有以命名的方式代替元素序号的数组,类似Hashtable。 |
最基础的对象 | Object | Object |
类型转换语法: 将Object类转为Person | Person p=(Person) myObject; | var p:Person= Person(myObject); 或者 var p:Person= myObject as Person; |
向上声明 | class Xyz extends Abc{} Abc myObj = new Xyz(); | class Xyz extends Abc{} var myObj:Abc=new Xyz(); |
包 | package com.xyz; class myClass {…} | package com.xyz{ class myClass{…} } ActionScript的包不仅能包含类,也能包含独立的方法。 |
类访问级别 | public, private, protected 如果没有说明,该类就是能在包内访问。 | public, private, protected 如果没有说明,类就是internal访问级的(类似Java中的包访问级)。 |
常规的访问级别:命名空间 | n/a | 类似XML的命名空间。 namespace abc; abc function myCalc(){} 或 abc::myCalc(){} use namespace abc ; |
控制台打印 | System.out.println(); | // 只在debug模式下有效 trace(); |
Imports导入 | import com.abc.*; import com.abc.MyClass; | import com.abc.*; import com.abc.MyClass; |
无顺序的键值对 | Hashtable, Map Hashtable friends = new Hashtable(); friends.put(”good”, “Mary”); friends.put(”best”, “Bill”); friends.put(”bad”, “Masha”); String bestFriend= friends.get(“best”); // bestFriend is Bill | var friends:Array=new Array(); friends[”good”]=”Mary”; friends[”best”]=”Bill”; friends[”bad”]=”Masha”; var bestFriend:String= friends[“best”] friends.best=”Alex”; Another syntax: var car:Object = {make:”Toyota”, model:”Camry”}; trace (car[”make”], car.model); // Output: Toyota Camry |
提升 | n/a | 编译器会将方法中所有变量声明提到顶端,所以你可以用一个变量名甚至在它声明之前。 |
实例化 | Customer cmr = new Customer(); Class cls = Class.forName(“Customer”); Object myObj= cls.newInstance(); | var cmr:Customer = new Customer(); var cls:Class = flash.util.getClassByName(“Customer”); var myObj:Object = new cls(); |
私有类 | private class myClass{…} | AS3中没有私有类 |
私有的构造函数 | 支持 | 不支持 |
类和文件名 | 一个文件可以有多个类声明,但是只能有一个是public,并且这个文件名必须和这个类名一致。 | 一个文件可以有多个类声明 |
包里能放什么 | 类和接口 | 类, 接口, 变量, 方法, 命名空间, 和可执行的声明 |
动态类 (定义一个可以在运行时动态添加修改属性和方法的类). | n/a | dynamic class Person { var name:String; } //动态的添加变量和方法 Person p= new Person(); p.name=”Joe”; p.age=25; p.printMe = function () { trace (p.name, p.age); } p.printMe(); // Joe 25 |
方法 closure | n/a. | myButton.addEventListener(“click”, myMethod); |
抽象类 | 支持 | n/a |
方法重载 | 支持 | 支持. 必须使用override声明 |
方法过载 | 支持 | 不支持 |
接口 | class A implements B{…} 接口可以包括方法的声明和静态变量。 | class A implements B{…} 接口只能存放方法的声明。 |
异常处理 | 关键字: try, catch, throw, finally, throws 未捕捉的异常会向上传递到调用它的方法。 | 关键字: try, catch, throw, finally 方法不必声明异常。 不仅可以抛出Error对象,也能抛出数字: throw 25.3; 一旦有未捕捉的异常Flash Player立即停止脚本执行。 |
正则表达式 | 支持 | 支持 |
相关推荐
第1篇 ActionScript3.0语言基础 第1章 ActionScript3.0概述 第2章 搭建ActionScript3.0开发环境 第3章 ActionScript3.0语法 第2篇 ActionScript3.0面向对象特性 第4章 ActionScript3.0面向对象编程 第...
附录,比较 ActionScript 2.0 与 ActionScript 3.0 的某些关键语言和 API 的改动 有关错误和警告的附录(带注释) 具有关使用 XML 支持补间动画和 FLVPlayback 字幕的参考信息的附录。 具有关对 Adobe AIR 使用...
actionscript3.0开发的进度显示条项目
鉴于ActionScript 3.0较之前版本的变化,为了适应更多的读者,本书没有过多强调ActionScript 3.0与 ActionScript 2.0的区别,而是直接从ActionScript 3.0的语法结构、编写习惯开篇,由浅入深展开讲解。第1~5章介绍...
本书详细地介绍了 actionscript 3.0的基础知识,包括 actionscript 3.0语言、actionscript 3.0对象的操作方法、显示列表的使用、事件模型、加载外部素材、可视化编程以及利用声音和视频增强应用程序等方面的知识,并...
最专业的最专业的最专业的ActionScript 3.0 ActionScript 3.0 ActionScript 3.0 ActionScript 3.0 ActionScript 3.0
用于比较 ActionScript 2.0 与 ActionScript 3.0 的某些关键语言和 API 更改的附录 带有注释的错误和警告的附录 本参考可通过多种途径获得:在创作工具的“帮助面板”中;从 LiveDocs 下载获得。本参考适合与其它...
ActionScript 3.0 提供了可靠的编程模型,具备面向对象编程的基本知识的开发人员对此模 型会感到似曾相识。ActionScript 3.0 中的一些主要功能包括: ■ 一个新增的 ActionScript 虚拟机,称为 AVM2,它使用全新的...
《ActionScript 3.0 语言和组件参考》中文版概述 下面的《ActionScript 3.0 语言和组件参考》是 ...5.附录,比较 ActionScript 2.0 与 ActionScript 3.0 的某些关键语言和 API 的改动 6.有关错误和警告的附录(带注释)
ActionScript3.0 中文版 ActionScript3.0 api 中文版说明文档
附录,比较 ActionScript 2.0 与 ActionScript 3.0 的某些关键语言和 API 的改动 有关错误和警告的附录(带注释) 具有关使用 XML 支持补间动画和 FLVPlayback 字幕的参考信息的附录。 具有关对 Adobe AIR 使用...
用ActionScript 3.0动态绘制正弦曲线,附带源文件(包括一个.fla文件、一个.as文件、一个.swf文件)
ActionScript3.0完全自学手册电子教案
Foundation ActionScript 3.0 Animation Making Things Move ActionScript 3.0
ActionScript3.0cookbook中文版 ActionScript3.0cookbook中文版 ActionScript3.0cookbook中文版
ActionScript3.0游戏编程大学中文版和英文版pdf,包括书籍源代码
ActionScript 3.0 编程 学习FLASH BUILDER RIA 必不可少
actionscript 3.0 下雨actionscript 3.0 下雨actionscript 3.0 下雨actionscript 3.0 下雨actionscript 3.0 下雨
ActionScript 3.0 开发人员指南