Jac*_*Wan 25
flash.utils.getQualifiedClassName(...)
Run Code Online (Sandbox Code Playgroud)
您可以将任何ActionScript值传递给此函数,以获取包含其完全限定类名的String.
该函数称为typeof(). http://livedocs.adobe.com/flash/9.0/ActionScriptLangRefV3/operators.html#typeof
如果您只需要对其类型进行最基本的描述,那么您可以使用typeof运算符,如下所示:
var foo:String = "test";
trace( typeof foo );
// string
Run Code Online (Sandbox Code Playgroud)
虽然这很方便,但它有一个缺点.这就是它总是给出变量的基本类型,例如:
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
Run Code Online (Sandbox Code Playgroud)
哪些在技术上都是正确的,但可能不是你想要的.
如果你想要更具体的类型(例如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
Run Code Online (Sandbox Code Playgroud)
如果内存对我有用,方法flash.utils.describeType会向您提供一个xml文档,其中包含对象/类型的所有反射类型信息.
确实:http://livedocs.adobe.com/flash/9.0/ActionScriptLangRefV3/flash/utils/package.html#describeType%28%29