您的位置:首页 > 其它

【Flex】Actionscript判断数据类型的几种方法比较

2011-04-27 09:33 597 查看
主要有这么几种 as ,instanceof,is,typeof。

as: 计算第一个操作数指定的表达式是否是第二个操作数指定的数据类型的成员。

如果第一个操作数是该数据类型的成员,则结果是第一个操作数。否则,结果是 null 值。

举例:public var myArray:Array = ["one", "two", "three"];
   trace(myArray as Array); // one,two,three
   trace(myArray as Number); // null
   trace(myArray as int); // null

instanceof:计算表达式的原型链中是否包含 function 的原型对象。

当与类一起使用时,instanceof 运算符与 is 运算符类似,这是因为类的原型链中包含它的所有超类。但是,原型链中不包含接口,因此当与接口一起使用时,instanceof 运算符的计算结果将始终为 false,而 is 运算符的计算结果将为 true(如果对象属于实现指定接口的类)。

举例:var mySprite:Sprite = new Sprite();
   trace(mySprite instanceof Sprite); // true
   trace(mySprite instanceof DisplayObject); // true

is: 计算对象是否与特定的数据类型、类或接口兼容。注意也可以使用
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

typeof:计算
expression
,并返回指定表达式的数据类型的字符串。此结果仅限于六个可能的字符串值:
boolean
function
number
object
string
xml


举例:trace(typeof Array); // object
   trace(typeof Date); // object
   trace(typeof 3); // number
   var a:String = "sample";
   var b:String = new String("sample");
   trace(typeof a); // string
   trace(typeof b); // string
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: