【学习笔记】AS3快速上手笔记

作者:fbysss
msn:jameslastchina@hotmail.com  
blog:blog.csdn.net/fbysss
声明:本文由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?有什么用?——这里有一个疑问,因为as3javascript一样,直接就支持不定数量的参数,要这个何用?

A:在面向对象的AS3类里面,可以理解为静态语言,必须采用这样的方式,才能支持动态参数(类似Java的动态参数做法)。

 

如果是动态定义的函数变量,不需要。

 

例:

 

public class Test(){

         publicfunction dynamicParam(){

                   for(vari =0 ; i< params.length ; i++){

                            trace(params[i]);

}

}

 

         publicfunction Test(){

                   dynamicParam(1,2,3);

         }

}

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值