• 技术文章 >Web开发 >JavaScript

    js 判断对象是否有属性

    宋雪维宋雪维2021-01-12 11:33:22原创2992

    JavaScript中有数据属性和访问器属性两种对象属性,我们要想使用这两个对象属性,第一步就要判断对象中是都有属性,若没有属性,是不能使用的。本文介绍JavaScript中判断对象是否有属性的三种方法:1、使用in运算符判断;2、使用hasOwnProperty();3、使用!==检测。

    1、使用in运算符判断

    'name' in test        //true
    'un' in test             //true
    'toString' in test    //true
    'age' in test           //false

    注意:这种方式的局限性,即无法区分自身和原型链上的属性,在只需要判断自身属性是否存在时,这种方式就不适用了。这时需要hasOwnProperty()

    2、使用hasOwnProperty()

    var o={x:1};
    o.hasOwnProperty("x");       //true,自有属性中有x
    o.hasOwnProperty("y");       //false,自有属性中不存在y
    o.hasOwnProperty("toString"); //false,这是一个继承属性,但不是自有属性

    注意hasOwnProperty()只能检测自有属性

    3、使用!==检测

    var o={x:1}
    o.x !== undefined  //返回true
    o.y !== undefined //返回false
    o.toString !== undefined //返回true,因为对象o继承了原型的toString属性

    注意:对象的属性值不能设置为undefined

    以上就是js中判断对象是否有属性的三种方法,各有利弊,大家一定在合适的情况下选择合适的方法哦~更多js学习推荐:js教程

    专题推荐:js 判断对象
    品易云
    上一篇:js判断数组是否为空 下一篇:js 判断元素是否存在

    相关文章推荐

    • Python异常输出美化工具PrettyErrors如何使用?• python中如何实现搜索引擎功能?• python迭代器中Yield方法怎么用?• python中如何编写函数并调用?

    全部评论我要评论

    © 2021 Python学习网 苏ICP备2021003149号-1

  • 取消发布评论
  • 

    Python学习网