JS/React 判断对象是否为空对象

JS一般判断对象是否为空,我们可以采用: if(!x)的方式直接判断,但是如果是一个空对象,比如空的JSON对象,是这样的:{},简单的判断是不成功的,因为它已经占用着内存了,如果是JQuery的话,直接使用isEmptyObject()来判断,如果是JS,可以采取下面的方法1:

/* 
 * 检测对象是否是空对象(不包含任何可读属性)。 //如你上面的那个对象就是不含任何可读属性
 * 方法只既检测对象本身的属性,不检测从原型继承的属性。 
 */
function isOwnEmpty(obj) 
{ 
    for(var name in obj) 
    { 
        if(obj.hasOwnProperty(name)) 
        { 
            return false; 
        } 
    } 
    return true; 
}; 
 
/* 
 * 检测对象是否是空对象(不包含任何可读属性)。 
 * 方法既检测对象本身的属性,也检测从原型继承的属性(因此没有使hasOwnProperty)。 
 */
function isEmpty(obj) 
{ 
    for (var name in obj)  
    { 
        return false; 
    } 
    return true; 
}; 

也可以采用方法2:

// 先转化为对象,再判断内容是否为{}
JSON.stringify(obj) == "{}"

React中可以这样采用:

isEmptyObject:function(obj){
      for(var n in obj){return false}
      return true;
},

 

posted @ 2016-01-04 19:33  daomul  阅读(14807)  评论(0编辑  收藏  举报