flex/flash as3 中的is与as操作符

(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  
在AS3中,已经不赞成使用instanceof操作符用is取而代之了。的确有了is操作后,比以前方便多了。

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值