• 转:Flex判断数据类型的几种方法


    判断数据类型,主要有一下几种 as ,instanceof,is,typeof。

    1、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


     

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

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

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

    3、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

    4、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

  • 相关阅读:
    深入浅出RxJava
    android 图像处理系列合集
    WebView·开发指南
    LocalBroadcastManager 的实现原理,Handler还是 Binder?
    TCP协议中的三次握手和四次挥手(图解)
    Android进程保活
    Android只能动态注册的广播Action
    WakeLock, AlarmManager, JobScheduler
    jQuery验证控件jquery.validate.js使用说明+中文API
    IntelliJ IDEA的自动提示貌似是区分大小写的,首字母小写的话,怎么都提示不出来。
  • 原文地址:https://www.cnblogs.com/hucy/p/2563042.html
Copyright © 2020-2023  润新知