as3程序员不知道的as2和as3的不同点

本文总结了ActionScript 2 (AS2) 和 ActionScript 3 (AS3) 在语法、类定义、对象处理等方面的主要区别,如AS2缺乏AS3中的常量、包、特定对象类型及事件分发机制等。
摘要由CSDN通过智能技术生成

最近,因为项目开发需要,得用as2实现一些较复杂的功能,发现as2的和as3的一些差异,总结如下:

1、as2没有as3中const关键字

2、as2没有as3中包的概念,包路径在类名处定义、类没有public等限制符
3、as2没有as3中ByteArray、Dictionary、Sprite、Timer、Event EventDispatcher、DisplayObject、SimpleButton等对象
4、as2没有数据类型int,只有Number,因此有时对值比较需要用int()方法对number数值类型进行取整
5、as2中Object的写法:{name:"小张"},不支持{"name":"小张"}这样写,会报语法错误
6、as2没有for each的用法,只能用for in遍历
7、as2的显示列表机制和as3完全不同,没有as3中addChild方法,只能借助attachmovie或duplicateMovieClip方法实现,不能像as3中可以随意的把一个movieclip添加到另外一个mc中显示
8、as2中自定义类实例化时,需要在库中导出链接并关联类,
9、as2中派发事件的方式:AsBroadcaster,类似于as3中eventDispatcher类功能,事件侦听方式也不一样
10、as2中方法没有默认参数的概念
11、as2中MovieClipLoader对象加载文件,init后才能读取元件
12、switch判断,as2中采用的是全等判断,而as3从则是普通判断,例:
var ff:Object = {}
ff.aa = "3";
var aa:Number = ff.aa;
switch(aa)
{
case 3:trace(123);break;
default:trace(234);
}
13、as2没有is、as,只能通过typeof来判断类型,判断数组只能通过if(type == "object" && o.length == undefined)//通过length属性来判断是不是数组
14、as2中数组array没有splice等好用方法
15、as2写方法时需要非常注意this的用法,具体是哪个对象的应用,比较容易出错
16、as2中get set 方法只能写成public

17、as2便利mc所有对象的方法:for(i in mc),和as3不一样。


欢迎补充。


评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

星星之Coder

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值