Как проверить, является ли переменная AS3 "Object" полностью пустой? - PullRequest
0 голосов
/ 19 ноября 2010

В Actionscript 3.0 как проверить, является ли var myObject:Object функционально идентичным {}?

Я так понимаю, я не могу ...

if (myObject == {}) {
  // etc
}

... потому что объекты являются ссылочными типами, верно?

Ответы [ 2 ]

6 голосов
/ 19 ноября 2010

Убедитесь, что существует хотя бы одно поле:

function isEmptyObject(myObject:Object):Boolean {
 var isEmpty:Boolean=true;

 for (var s:String in myObject) {
   isEmpty = false;
   break;
 }

 return isEmpty;
}
1 голос
/ 01 июня 2012

Это работает с динамическим объектом и классами, чтобы проверить, содержит ли объект поля, это должно быть более общее решение

import flash.utils.describeType;

var test:String = "test";

var data:XML = describeType(test);
trace(data..accessor.length() > 0 || data..variable.length() > 0)
...