Как я могу найти тип var / name в Actionscript3? - PullRequest
12 голосов
/ 28 августа 2009

Хм, вот и все! ...

Ответы [ 5 ]

25 голосов
/ 10 октября 2011
flash.utils.getQualifiedClassName(...)

Вы можете передать любое значение ActionScript этой функции, чтобы получить строку, содержащую полное имя класса.

8 голосов
/ 28 августа 2009
7 голосов
/ 21 апреля 2013

Если вам нужно только самое фундаментальное описание его типа, то вы можете использовать оператор 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

тип документации

документация getQualifiedClassName ()

5 голосов
/ 28 августа 2009

Если память мне не изменяет, метод flash.utils.describeType передает вам XML-документ со всей отраженной информацией типа объекта / типа.

Действительно: http://livedocs.adobe.com/flash/9.0/ActionScriptLangRefV3/flash/utils/package.html#describeType%28%29

2 голосов
/ 21 января 2013

Оператор is является актуальным решением:

var mySprite:Sprite = new Sprite();
trace(mySprite is Sprite);           // true

См. http://help.adobe.com/en_US/FlashPlatform/reference/actionscript/3/operators.html?filter_flash=cs5&filter_flashplayer=10.2&filter_air=2.6#is

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...