如何测试一个空的 JavaScript 对象?

新手上路,请多包涵

在 AJAX 请求之后,有时我的应用程序可能会返回一个空对象,例如:

var a = {};

我如何检查是否是这种情况?

原文由 falmp 发布,翻译遵循 CC BY-SA 4.0 许可协议

阅读 408
1 个回答

如果 ECMAScript 5 支持 可用,您可以使用 Object.keys()

 function isEmpty(obj) {
    return Object.keys(obj).length === 0;
}

对于 ES3 和更早的版本,没有简单的方法可以做到这一点。您必须明确地遍历属性:

 function isEmpty(obj) {
    for(var prop in obj) {
        if(obj.hasOwnProperty(prop))
            return false;
    }

    return true;
}

原文由 Christoph 发布,翻译遵循 CC BY-SA 4.0 许可协议

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题