加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 百科 > 正文

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

发布时间:2020-12-15 01:06:03 所属栏目:百科 来源:网络整理
导读:? 这个用的还是挺多的,我自己详细总结一下吧。 主要有这么几种 as,instanceof,is,typeof。 ? as:? 计算第一个操作数指定的表达式是否是第二个操作数指定的数据类型的成员。 - 如果第一个操作数是该数据类型的成员,则结果是第一个操作数。否则,结果是 nul
?

这个用的还是挺多的,我自己详细总结一下吧。

主要有这么几种 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,并返回指定表达式的数据类型的字符串。此结果仅限于六个可能的字符串值:booleanfunctionnumberobjectstringxml

举例: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

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读