Как я могу получить список свойств в объекте в Actionscript?

30
задан GeoffreyF67 13 December 2011 в 17:45
поделиться

5 ответов

Если это - динамический объект, я полагаю, что можно просто сделать что-то вроде этого:

var obj:Object; // I'm assuming this is your object

for(var id:String in obj) {
  var value:Object = obj[id];

  trace(id + " = " + value);
}

Это - то, как это сделано в AS2, и я полагаю, что все еще работает на динамические объекты в AS3. Я думаю свойства, которые это покажет, более ограничено на нединамических объектах.

53
ответ дан 27 November 2019 в 23:16
поделиться

можно использовать для.. в цикле для получения имен свойств, или для каждого.. в цикле для получения значений свойств...


for( var o : * in object){
    trace( o + " = " + object[o] );
}
/************* OR ******************/
for each( var o : * in object ){
    trace( "object has property: " + o );
}
1
ответ дан 27 November 2019 в 23:16
поделиться

for-in работает только для динамических объектов. Для типизированных объектов вам нужно использовать какое-то отражение, чтобы получить имена свойств (например, http://www.as3commons.org/as3-commons-reflect/index.html )

/ Андрей.

6
ответ дан 27 November 2019 в 23:16
поделиться

Вы, вероятно, ищете

ObjectUtil.getClassInfo(object) 

, см .:

http://livedocs.adobe.com/flex/3/langref/mx/utils/ObjectUtil.html#getClassInfo%28%29

Be осознает, что в нем есть ошибка, из-за которой он рассматривает XML как нединамический тип данных. Подробнее об ошибке: bugs.adobe.com/jira/browse/SDK-17712

7
ответ дан 27 November 2019 в 23:16
поделиться

flash.utils.describeType (value: *) также предоставит вам список свойств объекта.

10
ответ дан 27 November 2019 в 23:16
поделиться
Другие вопросы по тегам:

Похожие вопросы: