AS3 中的is与as操作符的区别
2010-08-11 08:30
162 查看
(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操作后,比以前方便多了。
在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操作后,比以前方便多了。
相关文章推荐
- AS3中is和as操作符的区别
- C#中的is和as操作符区别小结
- Dotnet中用接口描述is和as操作符之间的区别
- C#中is和as操作符的区别
- (转)AS3中 is,as,typeof的区别 .
- C#中IS和AS操作符的区别(转)
- AS3中 is,as,typeof的区别
- php中函数 isset(), empty(), is_null() 的区别
- instanceof, isinstance,isAssignableFrom的区别
- instanceof, isinstance,isAssignableFrom的区别
- Python中is和==的区别
- StringUtils中 isNotEmpty 和isNotBlank的区别
- is_int,is_numeric区别
- JS中isPrototypeOf 和hasOwnProperty 的区别
- instanceof, isinstance,isAssignableFrom的区别
- Python中is和==的区别
- oracle 过程中as 与 is 的区别
- jQuery实现轮播效果及stop()和is(:animated)的用法区别
- Java isfile()与exists()的区别
- python学习笔记——‘is’和‘==’的区别