检查对象是否为空

Ash*_*ine 6 apache-flex collections actionscript flex3 actionscript-3

如果类型为object的传递参数为空,我想检查我的函数.有时它是空的但仍然不是null因此我不能依赖于null条件.是否有一些属性,如'长度'/'大小'的flex对象,我可以在这里使用.请帮忙.提前致谢.

Sim*_*han 15

如果您的意思是对象没有属性:

var isEmpty:Boolean = true;
for (var n in obj) { isEmpty = false; break; }
Run Code Online (Sandbox Code Playgroud)


sha*_*vey 6

这是一些严重的黑客,但你可以使用:

Object.prototype.isEmpty = function():Boolean {
    for(var i in this)
        if(i != "isEmpty")
            return false
    return true
}

var p = {};
trace(p.isEmpty()); // true
var p2 = {a:1}
trace(p2.isEmpty()); // false
Run Code Online (Sandbox Code Playgroud)


Rob*_*Bak 5

你也可以尝试:

ObjectUtil.getClassInfo(obj).properties.length > 0
Run Code Online (Sandbox Code Playgroud)

关于它的好处是getClassInfo为您提供了有关该对象的更多信息,例如.你得到对象中所有属性的名称,这可能会派上用场.