站内搜索:     
站点首页破釜学院网页制作FlashAction应用 → AS3.0中is,as运算符
正在加载相关信息.....
Web 站内搜索
AS3.0中is,as运算符
】【打印】【加入收藏】【关闭收藏到新浪ViVi】【收藏到365KEY】 浏览字号:
日期:2006-08-09 人气: 出处:Zikey Blog 作者: Zikey
 很久没有更新Blog了,主要是最近比较的懒.感情方面出现点问题,现在好了.还是关注我的Flash比较的省心.:raspberry

(1) is运算符
在AS3.0新增加的is运算符,主要功能是判断一个变量或者等式是不是等于给定的数据类型,在以前的版本中,有instanceof来实现相同的功能。
但是is 运算符可以帮助我们确定数据类型,还可以判断类的继承关系,包括对于接口的继承执行。
可以看如下实例:
var mySprite:Sprite = new Sprite(); 
trace(mySprite is Sprite); //output:true 
trace(mySprite is DisplayObject); //output:true 
trace(mySprite is IEventDispatcher); //output:true 
如果将is用instanceof来代替的,那么执行情况将如下: 
trace(mySprite instanceof Sprite); //output:true 
trace(mySprite instanceof DisplayObject); //output:true 
trace(mySprite instanceof IEventDispatcher); //output:false 
主要的区别在于对于接口的判断,在AS3.0中, Sprite继承自EventDispatcher类,而该类正好执行了IEventDispatcher接口。
(2)as运算符
AS3.0中新增加的运算符,也是用来判断一个给定的表达式是否符合所给定的数据类型,与is类似,但是不同之处在于返回值。as返回用表达式的结果代替了is返回的true,用null代替了is返回的false.
例如:
trace(mySprite as Sprite); //output: [object Sprite] 
trace(mySprite as DisplayObject); //output: [object Sprite] 
trace(mySprite as IEventDispatcher); //output: [object Sprite] 
trace(mySprite as Number); //output: null 

>>>> 进入论坛交流 <<<<