作者:fbysss
关键字:AS3,ActionScript
引言:
如果有java、javascript基础,AS语法很好理解,有一个上午足够。看了本文,基本可编写代码调试。
1. 开发工具
FlashBuilder。新建一个【ActionScript】项目,会自动生成一个as文件,可以直接在里面写代码测试。
从结构上看,这个文件是一个类,与java语法类似。
2. AS语法
var 关键字定义,trace输出
变量定义:
var i :int = 100;
trace(“i=”+i);
数组
var myArray:Array=(1,2,3);
trace(“myArray[0] is :”+myArray[0]);
对象:
var person:Object =- {name:”fbysss”,title:”manager”,gender:”male”};
trace(“person.name:”+person.name);
加入方法
var person:Object =-
{name:”fbysss”,title:”manager”,gender:”male”,
sayHello:function():void{
trace(“hello,I am ”+person.name);//也可以使用 trace(“hello ,I am ”+person[“name”])
}
salary:function(){
return1000000)(;
}
};
person.sayHello();
trace(person.salary());
动态添加类属性和方法
var person:Object={};
person.name=”fbysss”;
person.title=”manager”;
person.sayHello = function :void{
trace(“hello, I am ”+person.name);
}
各种类型默认值
如果没有初始化,
int,unit :0
Number: NaN
String、Object:null
Boolean:false
没有类型的定义如var i;或者var i:*; :undefined
in关键字
var sssArray:Array={1,2,3};
trace(“2 in sssArray:”+(2 in sssArray)); //true
trace(“2 in sssArray:”+(“2” in sssArray));//true
Function类型
函数表达式:
var sayHello: Function = function():void{
trace(“helloworld”);
}
sayHello();
显然,sayHello必须在定义语句之后才能调用。
正常的函数定义,与javascript一致
访问参数信息
与javascript类似。为arguments对象
arguments.length 参数个数
arguments.callee 调用者
面向对象
这部分与java很像,不用多说
package 不是分号,而是花括号。
事件机制
事件与方法的区别:
事件是侦听,满足一定条件才被触发的;被动调用
方法随时可能被调用;主动调用
事件的调用者与被调用者,可能不是一个进程,低耦合。
而方法调用则必须是一个进程之中,耦合性强。
3. 调试方法
F11
没有main方法,可通过构造函数调试
4. 注意点
Number(“hello”) 输出是 NaN
但Number(“hello”)==NaN永远是false
如果要判断,应该使用 if (Number(“hello”))的形式,类似javascript
switch 语句与javascript一样,支持string类型。注意break。
Q:动态参数 ...rest?有什么用?——这里有一个疑问,因为as3和javascript一样,直接就支持不定数量的参数,要这个何用?
A:在面向对象的AS3类里面,可以理解为静态语言,必须采用这样的方式,才能支持动态参数(类似Java的动态参数做法)。
如果是动态定义的函数变量,不需要。
例:
public class Test(){
publicfunction dynamicParam(){
for(vari =0 ; i< params.length ; i++){
trace(params[i]);
}
}
publicfunction Test(){
dynamicParam(1,2,3);
}
}
标签:AS3,name,trace,javascript,笔记,学习,person,sayHello,var
From: https://blog.51cto.com/u_16245757/7350821