从AS2到AS3

本文翻译自Adobe官网
原文地址http://livedocs.macromedia.com/flex/2/langref/migration.html
(译者注:由于时间与水平有限,难免疏漏,恳请批评指正)另:论坛中禁止了表格,所以排版杂乱,请谅解,欲查看table版,请访问http://www.lxidea.org/article.asp?id=31

翻译未完成部分将留有空格
因为私人问题,不再翻译此文
如果你愿意继续翻译,请发上来哦


从AS2到AS3

ActionScript 2.0         ActionScript 3.0                         标注
编译程序指令集
     
#endinitclip             移除   
#include                 移除                            参看类似的函数功能说明

常量    
false                 false                  布尔型对象默认值由undefined改为false
NaN                 NaN                 数值型对象默认值由undefined改为NaN
newline                 移除                 请使用转义字符串反斜杠与字母n(即/n)
null                         null 对象与字符串类的默认值由undefined改为null.
undefined                 undefined         undefined只用于未声明的变量,不是任何已声明对象的默认值

全局函数     
asfunction                 flash.text.TextField的事件发送器:link         已被新的事件发送模型替代.你可以使用这样的语法Event:而非asfunction:来达到相同的函数功能.当用户点击link(链接)时,flash player将使用一个TextEvent.LINK的TextEvent事件对象,你的代码能通过addEventListener()方法监听该事件对象.任何你打算包括的文本内容将在事件对象的text属性中存放.
call()                 移除   
chr()                 移除   
clearInterval()         flash.utils.clearInterval()                 封装进flash.utils包中
clearTimeout()         flash.utils.clearTimeout()                 封装进flash.utils包中
duplicateMovieClip()         flash.display.MovieClip.MovieClip()                 已被MovieClip类构造函数替代
eval()                 移除   
fscommand()         flash.system.fscommand()                 封装入flash.system包中,另外,参看JavaScript/ActionScript通信的flash.external.ExternalInterface类
getProperty()        移除                         要访问直接属性,使用dot(.)操作
getTimer()         flash.utils.getTimer()                 封装进flash.utils包中
getURL()                 flash.net.navigateToURL()         被navigateToURL()函数替代
getVersion()         flash.system.Capabilities.version         移入Capabilities类并改变为[读-写]属性
gotoAndPlay()         flash.display.MovieClip.gotoAndPlay() 此函数不再作为全局函数,但仍然可作为MovieClip类的方法
gotoAndStop()         flash.display.MovieClip.gotoAndStop() 此函数不再作为全局函数,但仍然可作为MovieClip类的方法
ifFrameLoaded()         flash.display.MovieClip.framesLoaded   
int()                 int()                 从低迷状态恢复为新的整数数据类型提供转换功能的函数
length()                 String.length         此属性不再作为全局属性,但仍可用于String类的方法
loadMovie()         flash.display.Loader                 请使用Loader类
loadMovieNum()         flash.display.Loader                 请使用Loader类
loadVariables()         flash.net.URLLoader                 请使用URLLoader类
loadVariablesNum()         flash.net.URLLoader                 请使用URLLoader类
mbchr()                 String.fromCharCode()                 已经移除.使用固定方式String.fromCharCode()代替
mblength()         String.length                 已经移除,使用String.length代替
mbord()                 String.charCodeAt()                 已经移除,使用String.charCodeAt()代替
mbsubstring()         String.substr()                 已经移除,使用String.substr()代替
nextFrame()         flash.display.MovieClip.nextFrame() 此函数不再作为全局函数,但仍可用于MovieClip类的方法
nextScene()         flash.display.MovieClip.nextScene() 此函数不再作为全局函数,但仍可用于MovieClip类的方法
on()                 flash.events.EventDispatcher         已经移除.请使用flash.events包中新的事件处理系统
onClipEvent()         flash.events.EventDispatcher         已经移除.请使用flash.events包中新的事件处理系统
ord()                 String                         已经移除.请使用String类的方法
parseInt()                 parseInt()                         以0开头的字符串将被转换为十进制而不是八进制.要转换为八进制,将数字8作为基本参数传入.
play()                 flash.display.MovieClip.play()         此函数不再作为全局函数,但仍可用于MovieClip类的方法
prevFrame()         flash.display.MovieClip.prevFrame() 此函数不再作为全局函数,但仍可用于MovieClip类的方法
prevScene()         flash.display.MovieClip.prevScene() 此函数不再作为全局函数,但仍可用于MovieClip类的方法
print()                 flash.printing.PrintJob                 已经移除.请使用PrintJob类代替.
printAsBitmap()         flash.printing.PrintJob                 已经移除.请使用PrintJob类代替.
printAsBitmapNum()         flash.printing.PrintJob                 已经移除.请使用PrintJob类代替.
printNum()         flash.printing.PrintJob                 已经移除.请使用PrintJob类代替.
random()                 Math.random()                 已经移除.使用Math.random()代替.
removeMovieClip()         移除                         将所有指向movie clip的映射设置为空(null),以便激活无用单元收集程序
setInterval()         flash.utils.setInterval()                 移入flash.utils包中.建议使用Timer类代替
setProperty()         移除                         用来设置可写的属性,使用dot(.)操作
setTimeout()         flash.utils.setTimeout()         移入flash.utils包中
showRedrawRegions() flash.profiler.showRedrawRegions() 移入flash.profiler包中
startDrag()         flash.display.Sprite.startDrag()         已不再是全局函数,但仍可用于Sprite类
stop()                 flash.display.MovieClip.stop()         已不再是全局函数.但仍可用于MovieClip类
stopAllSounds()         flash.media.SoundMixer.stopAll()         已不再是全局函数,但仍可用于SoundMixer类,它提供全局声音控制
stopDrag()                 flash.display.Sprite.stopDrag()         已不再是全局函数,但仍可用于Sprite类
substring()                 String.substring()                 已不再是全局函数,但仍可用于String类
targetPath()         移除   
tellTarget()         移除                         使用dot(.)操作或者是with声明
toggleHighQuality()         flash.display.Stage.quality         已经作为全局属性移除.使用Stage类代替
trace()                 trace()                         trace()方法接收逗号分界的参数列表
unloadMovie()         flash.display.Loader.unload()         已经移除.使用Loader.unload()
unloadMovieNum()         flash.display.Loader.unload()         已经移除.使用Loader.unload()
updateAfterEvent()         flash.events.TimerEvent.updateAfterEvent() 已不再是全局函数,但仍可用于TimerEvent,MouseEvent,和KeyboardEvent类

全局属性     
_accProps                    flash.accessibility.AccessibilityProperties          被AccessibilityProperties类代替
_focusrect                   flash.display.InteractiveObject.focusRect        被InteractiveObject类的focusRect属性所代替
_global                       移除                                                         请使用类中的固定成员
_highquality                flash.display.Stage.quality                        被stage类的quality属性所代替

_level                        移除                                       层的概念在Actionscript3.0中不复存在
                                                                             ,作为补偿,AS3中提供对显示项目的直
                                                                             接控制权.参看flash.display包

maxscroll                   flash.text.TextField                    被TextField类中的maxScrollH和
                                                                              maxScrollV属性代替
_parent                    flash.display.DisplayObject.parent   由DisplayObject类中的parent属性代替
_quality                   flash.display.Stage.quality               被stage类的quality属性所代替
_root                      flash.display.DisplayObject.stage      被移除.与之功能相近的Stage,是ActionScript 3.0显示的底层
scroll                      flash.text.TextField                        被移除.被TextField类中的maxScrollH和maxScrollV属性代替
_soundbuftime       flash.media.SoundMixer.bufferTime   请使用SoundMixer类的bufferTime属性
this                         this                 与此方法关联的函数方法的调用将传入this所指的影
                                                片实例.因此,影片实例内部引用this方法将总是指向它本身.
操作   

add (strings的连接操作)                         移除                         使用连接符"+"
eq (strings判断相等)                              移除                         使用相等判别符"=="
gt (大于(strings))                                  移除                         使用大于符号">"
ge (大于等于(strings))                            移除                         使用大于等于符号">="
<> (不相等)                                         移除                         使用不等符号"!="
instanceof                             is                                  虽然instanceof操作仍可用,但它只能
                                                                               检查原型类型,它不是唯一的此类方
                                                                              法.使用is操作,可以检查一个对象是否
                                                                               属于某种数据类型
lt (小于 (strings))                                  移除                         使用小于符号"<"
le (小于等于(strings))                            移除                         使用小于等于符号"<="
and (逻辑和)                                       移除                         使用逻辑和操作符"&&"
not (逻辑否)                                       移除                         使用逻辑否操作符"!"
or (逻辑或)                                        移除                          使用逻辑或操作符"||"
ne (不等于(strings))                            移除                          使用不等于操作符号"!="

声明类型     

delete                         delete                         delete操作只作用于对象本身的属性,不能用于含有引用的变量

import                         import                         import不是随意可选的声明.要使用某个类,不论使用的是不是合格的对象名,你都必须导入它.

intrinsic                         移除                         ActionScript 3.0有一个相似但不相同的keyword叫native,它与intrinsic相同之处在于指引编译器不要编译函数体,不同在于native对于编译时的格式检查无效.

private                         private                         ActionScript 3.0中private关键字指定某个标识符只在该类中可见,并且不扩展到子类中.不仅如此,ActionScript 3.0中的private关键字同时加强了编译时和运行时.

set variable                          移除                         使用指定操作符"="

super                           super                         ActionScript 3.0中,在子类构造器中对super()的调用无须作为构造体的首个声明.

访问类                          flash.accessibility.Accessibility  

isActive()方法                flash.accessibility.Accessibility.active              由函数改为访问属性.名字由isActive改为active

updateProperties()         flash.accessibility.Accessibility.updateProperties()   

参数类                      arguments   
caller 属性                 移除                                     你可以让调用函数将arguments.callee作为参数传给被调函数来达到同样的函数功能.查看例子章节中有关arguments.callee的范例.

数组类     

CASEINSENSITIVE常数                Array.CASEINSENSITIVE                      类型更改为uint

DESCENDING常数                       Array.DESCENDING                             类型更改为uint

length属性                                Array.length                                       类型更改为uint

NUMERIC常数                            Array.NUMERIC                                   类型更改为uint

RETURNINDEXEDARRAY常数       Array.RETURNINDEXEDARRAY              类型更改为uint

UNIQUESORT常数                     Array.UNIQUESORT                            类型更改为uint

Array构造器                             Array.Array()                               参数改变,使用余下的参数格式

push() 方法                              Array.push()                              参数改变,使用余下的参数格式

sort()方法                                Array.sort()                              可选参数的数据类型更改为uint

sortOn()方法                           Array.sortOn()                          可选参数的数据类型更改为uint.ActionScript 3.0版本下添加了额外的函数功能,你现在能够将数组对象作为文件名参数传入进行分组,如果你传入的可选参数为匹配数组那每个分组区域都将有自己的匹配可选参数.

splice()方法                              Array.splice()                           参数可以是任何类型,但首选参数是int和uint.参数值将变为...参数格式

unshift()方法                           Array.unshift()                           参数值变为....参数格式.返回的数据类型更改为uint



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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值