is 和 as的区别
is返回true或false
计算对象是否与特定数据类型、类或接口兼容。使用 is
运算符(而非 instanceof
运算符)进行类型比较。还可以使用
is
运算符来检查对象是否实现某个接口。
结果
|
import flash.display.*;
import flash.events.IEventDispatcher; var mySprite:Sprite = new Sprite(); trace(mySprite is Sprite); // true trace(mySprite is DisplayObject); // true trace(mySprite is IEventDispatcher); // true
as | 运算符 |
用法
示例
如何使用示例
下例创建一个名为
expression as datatype |
语言版本 : | ActionScript 3.0 |
Player 版本 : | Flash Player 9 |
计算第一个操作数指定的表达式是否为第二个操作数指定的数据类型的成员。如果第一个操作数是该数据类型的成员,则结果为第一个操作数。否则,结果为
null
值。
第二个操作数所用表达式的计算结果必须为数据类型。
操作数
expression:* — 要针对指定的数据类型进行检查的值。 |
|
datatype:Class — 用于计算 expression
操作数的数据类型。不能使用特殊的 * 类(即无类型)。 |
结果
Object — 如果 expression
是在 datatype 中指定的数据类型的成员,则结果为 expression 。否则,结果为
null 值。 |
示例
如何使用示例
下例创建一个名为
myArray
的简单数组,并将 as
运算符用于各种数据类型。
public var myArray:Array = ["one", "two", "three"]; trace(myArray as Array); // one,two,three trace(myArray as Number); // null trace(myArray as int); // null