ActionScript3.0中获取变量类型的方法

AS3中一共有以下六种获取变量类型的方法:

  •   typeof
  •   instanceof
  • getQualifiedClassName
  •   getQualifiedSuperclassName
  •   is
  •   as

 

typeof运算符用来返回基元数据的类型(所谓基元数据类型是指:intuintBooleanNumberString除此以外全部都是复杂数据类型)。注意,使用typeof返回复杂数据类型时将始终得到“Object”。

typeof的使用方法如下例所示:

var size:int=10;
var color:uint=0x990000;
var flag:Boolean=false;
var num:Number=.5;
var name:String=”My Name is HuLin”;
var arr:Array=[1,2,3];
var obj:Object=new Object();
var mc:MovieClip=new MovieClip();
var shape:Shape=new Shape();
trace(typeof(size));       //int
trace(typeof(color));    //uint
trace(typeof(flag));       //Boolea
trace(typeof(num));     //Number
trace(typeof(name));   //String
trace(typeof(arr));       //Object
trace(typeof(obj));       //Object
trace(typeof(mc));       //Object
trace(typeof(shape)); //Object

      instanceofAS3以前的ActionScript版本(AS2AS1)中用来判断变量类型的运算符。在AS3中依然可以使用,但是建议不要再用,因为在它可能无法正确判断AS3中新增的数据类型。例如,有如下语句:

      var num:int=5;

      trace(num instanceof int); //false

      显然,这是错误的。在AS3中应当使用is来代替它。

 

      getQualifiedClassName运算符用来返回变量所属的类的类名,用法如下:

      

var shap:Shape=new Shape();
trace(getQualifiedClassName(shap)); //flash.display::Shape

注意,使用getQualifiedClassName只能返对象的直接归属类的类名,而不能获取整条继承链。

 

getQualifiedSuperclassName运算符用来返回对象所属类的父类的名称,用法如下:

var shap:Shape=new Shape();
trace(getQualifiedSuperclassName(shap));// flash.display::DisplayObject


      is运算符,AS强力推荐之法宝。它用来验证指定变量是否属于指定类型,是则返回true,否则返回false。用法如下:

      

var shap:Shape=new Shape();
trace(shap is Shape); //true
var num:int=5;
trace(num is Array); //false

 

      as运算符也是AS3中新增的内容。它跟is运算符的用法类似,但是它不像is一样返回trueflash,而是返回对象本身(类型匹配时会将对象转换为匹配类型)null(类型不匹配时)。用法如下:

var shap:Shape=new Shape();
trace(shap as Shape);   //[object Shape]
trace(shap as MovieClip);// null

  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值