zoukankan      html  css  js  c++  java
  • javascript对象属性为空的判断

    zepto:

    $.isEmptyObject = function(obj) {
        var name
        for (name in obj) return false
        return true
      }
    $.isEmptyObject({})//true


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

     这里所说的空对象,到底是 {} 还是 null . 我写了一个测试用例。

    var a = {};
    a.name = 'realwall';
    console.log(isEmpty(a));  //false
    console.log(isEmpty({}));  //true
    console.log(isEmpty(null));  //true
    //注意参数为null时无语法错误哦,即虽然不能对null空指针对象添加属性,但可以使用for in 语句。

      

    /*
     * 检测对象是否是空对象(不包含任何可读属性)。
     * 方法只既检测对象本身的属性,不检测从原型继承的属性。
     */
    function isOwnEmpty(obj)
    {
        for(var name in obj)
        {
            if(obj.hasOwnProperty(name))
            {
                return false;
            }
        }
        return true;
    };
  • 相关阅读:
    [学习记录]Flask会话维护
    [学习记录]MarkDown语法
    [学习记录]jinja2模板语法
    [学习记录]flask资源加载
    [学习记录]flask初步
    [常用操作]使用github桌面版上传代码
    [学习记录]简明扼要的Sass
    接口Mock测试
    12 | 从0到1:你的第一个GUI自动化测试
    navicat导出DDL语句
  • 原文地址:https://www.cnblogs.com/darr/p/5460888.html
Copyright © 2011-2022 走看看