В Actionscript 3.0 как проверить, является ли var myObject:Object функционально идентичным {}?
var myObject:Object
{}
Я так понимаю, я не могу ...
if (myObject == {}) { // etc }
... потому что объекты являются ссылочными типами, верно?
Убедитесь, что существует хотя бы одно поле:
function isEmptyObject(myObject:Object):Boolean { var isEmpty:Boolean=true; for (var s:String in myObject) { isEmpty = false; break; } return isEmpty; }
Это работает с динамическим объектом и классами, чтобы проверить, содержит ли объект поля, это должно быть более общее решение
import flash.utils.describeType; var test:String = "test"; var data:XML = describeType(test); trace(data..accessor.length() > 0 || data..variable.length() > 0)