【问题标题】:How to check if object is empty? [duplicate]如何检查对象是否为空? [复制]
【发布时间】:2011-10-21 09:17:18
【问题描述】:

可能重复:
is object empty?

那么让我们var someObject = { }; 我如何检测到该对象没有任何属性和方法?

【问题讨论】:

    标签: javascript


    【解决方案1】:
    function isEmpty(ob){
       for(var i in ob){ return false; }
       return true;
    }
    
    isEmpty({a:1}) // false
    isEmpty({}) // true
    

    【讨论】:

    • 如果有人向object.prototype 添加了一个方法,那将不起作用。在这里阅读yuiblog.com/blog/2006/09/26/for-in-intrigue
    • @xanatos:如果“某人”添加到 Object.prototype,您会对其进行追踪,删除违规代码,然后删除违规开发人员。
    • @Ӫ_._Ӫ 在现实世界中,object.prototype 扩展是可能的。甚至有一些非常有名的库做到了(但我不记得是哪些).... mmmmh 这个错误报告中的一个例子bugs.jquery.com/ticket/1529 甚至是旧版本的prototype
    • @xanatos:那个 jQuery 错误就是一个很好的例子。您可能知道json2 库(这是导致该错误的原因)不再像原来那样扩展Object.prototype。与prototypejs 相同。他们都删除了有问题的代码。 ;)
    猜你喜欢
    • 2019-11-18
    • 1970-01-01
    • 2013-10-11
    • 1970-01-01
    • 1970-01-01
    • 2014-08-11
    • 2019-06-09
    • 2013-02-13
    相关资源
    最近更新 更多