javascript 判断对象为空

https://segmentfault.com/a/1190000002540486

很多人会误解

  1. JavaScript应该是没有字典这个东西的.
  2. JavaScript如果说一个对象是空的,那么这个对象应该为null.
    比如:var obj = {}; 这个不能叫对象为空,你只能说这个对象没有属性.
    内存还占着呢.不信你可以typeof(obj)试试.
  3. 一般我们也不会像Python一样直接判断, 一般会看看里面有没有某个属性,
    比如obj.name 直接判断就可以了, 再者, 一般我们用这个东西, 直接用$.echo() 简单粗暴.

判断的方法

讲了上面的东西,你硬是要判断我也不拦你,给你两个方法.

  1. 循环里面的属性.

    function isEmptyObject(obj){
        for (var n in obj) {
            return false
        }
        return true; 
    } 
    
  2. 利用JSON判断.

    function isEmptyObject(obj){
        if (JSON.stringify(obj) == '{}') {
            return true;
        } else {
            return false;
        }
    }