js如何判断一个对象为空

今天碰到一个问题如何判断一个对象为空?

总结的方法如下:

1.使用jquery自带的$.isEmptyObject()函数。

var data={};
console.log($.isEmptyObject(data));//true
var data={
      x:123,
      y:456
}
console.log($.isEmptyObject(data));//false

2.自己封装一个方法:

     $(function(){
        var data={};
        console.log($.isEmptyObject(data));//true
        var data2={
            x:123,
            y:456
        }
        function objIsEmpty(obj){
var t;   
for(var t in obj){//如果不为空,则会执行到这一步,返回true     return !1;   }   return !0; } console.log(objIsEmpty(data));//true console.log(objIsEmpty(data2));//false })

 3.通过JSON自带的.stringify方法将对象转化为字符串来判断:

     var data={};
     var data2={
            x:123,
            y:456,
            data:[1,2,3]
     };
     // var str=JSON.stringify(data) ;
     // console.log(str);
     function isEmptyObj(obj){
          if(JSON.stringify(obj) == "{}"){
              return !0;
          }else{
              return !1;
          }
     }
     console.log(isEmptyObj(data));//true
     console.log(isEmptyObj(data2));//false

4.通过es6的Object.keys(obj).length的方法判断。

var data = {};
var data2 = {
         x:123,
         y:456,
         data:[1,2,3]
 };
function isEmptyObj(obj){
         if(Object.keys(obj).length == 0){
                return !0;
          }else{
                return !1
          }
}
console.log(isEmptyObj(data));//true
console.log(isEmptyObj(data2));//false

 

posted @ 2017-03-11 15:40  行果  阅读(888)  评论(0编辑  收藏  举报