寒假曾学过几天AS3,半年未接触,仿佛又重返原点。复习中...
在书的指导下,目前能写出的代码:
函数定义法改变this指代:
var num:int=0;
var nam:String="";
var i:int=0;
var mem:Array=new Array();
mem[0]={nam:"zy",num:87};
mem[1]={nam:"xcm",num:86};
mem.push({nam:"cx",num:85});
var testMem:Function=function(){
trace(this.nam+" "+this.num);
}
for(i=0;i<mem.length;){
testMem.apply(mem[i++]);
}
var num:int=0;
var nam:String="";
var i:int=0;
var mem:Array=new Array();
mem[0]=aFunc;
mem.push(bFunc);
mem.push(cFunc);
var oriObj:Object=new Object();
for (i=0;i<mem.length;i++){
mem[i](oriObj);
for (var j in oriObj){
trace(j+":"+oriObj[j]);
}
function aFunc(eO:Object){
eO.nam="zy";
eO.num=1987;
trace("aFunc();")
}
function bFunc(eO:Object){
eO.nam="xcm";
eO.num=1986;
trace("bFunc();")
}
function cFunc(eO:Object){
eO.nam="cx";
eO.num=1985;
trace("cFunc();")
}
trace("Hello,world");
值类型的特点是:直接存储。
引用类型的特点:存储的是引用。
const 声明常量
boolean默认false
除法使用整数型(int unit)直接剔除小数点后面的数。
使用Number类型,小数相加不一定得到整数,使Math.round()修正。不要让数据差距过大的浮点数相加。
函数的两种定义方式:
1. 函数语句法
function testAdd(a:int,b:int):int{
return a+b;
}
2. 函数表达式法
var testAdd:Funtion=funtion(a:int,b:int):int{
return a+b;
}
apply(例4-1)
this对象改变(如由MainTimeline变为某object)
push(例4-2)
referencePara.push(100)
referencePara数组[1,2,3]变为[1,2,3,100]
callee
arguments.callee()递归
疑问:
示例4-5运行结果
aFuncExecuted:true
cFuncExecuted:true
bFuncExecuted:true
与预定的有差别,预设为
aFuncExecuted:true
bFuncExecuted:true
cFuncExecuted:true