ActionScript3.0中获取变量类型的方法
ActionScript3.0中获取变量类型的方法??2011-10-11 12:34:10|??分类:?actonscript cook|字号?订阅 AS3中一共有以下六种获取变量类型的方法: l? typeof l? instanceof l? getQualifiedClassName l? getQualifiedSuperclassName l? is l? as ? typeof运算符用来返回基元数据的类型(所谓基元数据类型是指:int,uint,Boolean,Number,String 除此以外全部都是复杂数据类型)。注意,使用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));????? //Boolean trace(typeof(num));??? //Number trace(typeof(name));? //String trace(typeof(arr));????????????? //Object trace(typeof(obj));???????????? //Object trace(typeof(mc));????????????? //Object trace(typeof(shape)); //Object ? ?????? instanceof是AS3以前的ActionScript版本(AS2或AS1)中用来判断变量类型的运算符。在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 ?????? ?????? 注意,getQualifiedSuperclassName只能向上追溯一层。它也不能获取整条继承链。 ? ?????? is运算符,AS强力推荐之法宝。它用来验证指定变量是否属于指定类型,是则返回true,否则返回false。用法如下: trace(shap is Shape); //true ?????? trace(num is Array); //false ? ?????? as运算符也是AS3中新增的内容。它跟is运算符的用法类似,但是它不像is一样返回true或flash,而是返回对象本身(类型匹配时)或null(类型不匹配时)。用法如下: trace(shap as Shape);?? //[object Shape] trace(shap as MovieClip);// null (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |
- flash中 embed/SWF的使用
- ruby-on-rails – 如何使用rails remote:true参数与JSON?
- c# – 如何让ToDictionary在F#中工作?
- c# – 如何更改RichTextBox中指定行的格式
- React16.8+Next.js+Koa2开发Github全栈项目教程
- 利用Dataset读取xml的数据
- ruby-on-rails – 具有多个嵌套模型的Rails表单会导致无线电
- c# – 如何在使用MiniProfiler时从特征分析中删除特定URL
- c# – 这是表示抽象工厂模式的一个很好的例子
- react-native获取设备信息组件(react-native-device-info)