答案 0 :(得分:25)
flash.utils.getQualifiedClassName(...)
您可以将任何ActionScript值传递给此函数,以获取包含其完全限定类名的String。
答案 1 :(得分:8)
答案 2 :(得分:7)
如果您只需要对其类型进行最基本的描述,那么您可以使用typeof
运算符,如下所示:
var foo:String = "test";
trace( typeof foo );
// string
虽然这很方便,但它有一个缺点。这就是它总是给出变量的基本类型,例如:
var foo:Array = ["A","B","C","D"];
trace( typeof foo );
//object
var bar:int = 5;
trace( typeof bar );
//number
var hummer:Car = new Car();
trace( typeof hummer );
//Vehicle
哪些技术上都是正确的,但可能不是您想要的。
如果您想要更具体的类型(例如Array
,String
等),那么您需要使用getQualifiedClassName()
包中稍微复杂的flash.utils
函数:
import flash.utils.getQualifiedClassName;
var foo:Array = ["A","B","C","D"];
trace( getQualifiedClassName( foo ) );
//Array
var bar:int = 5;
trace( getQualifiedClassName( bar ) );
//int
var hummer:Car = new Car();
trace( getQualifiedClassName( hummer ) );
//Car
答案 3 :(得分:5)
如果内存对我有用,方法 flash.utils.describeType 会向您提供一个xml文档,其中包含对象/类型的所有反射类型信息。
答案 4 :(得分:2)
is
运算符是最新的解决方案:
var mySprite:Sprite = new Sprite();
trace(mySprite is Sprite); // true