zoukankan      html  css  js  c++  java
  • 怎样判断JS对象中的属性

     1 // 如何在不访问属性值的情况下判断对象中是否存在这个属性
     2 var obj = {
     3   a: 2
     4 };
     5 
     6 Object.defineProperty(
     7   obj,
     8   'b',
     9   // 让 b 不可枚举
    10   {
    11     enumerable: false,
    12     value: 3
    13   }
    14 );
    15 // in 操作符会检查属性是否在对象及其 [[Prototype]] 原型链中,而 hasOwnProperty()只会检查属性是否在对象中
    16 console.log('a' in obj);
    17 console.log('b' in obj);
    18 
    19 console.log(obj.hasOwnProperty('a'));
    20 console.log(obj.hasOwnProperty('b'));
    21 
    22 // propertyIsEnumerable(..) 检查属性名是否直接存在于对象中,并且是可枚举的
    23 console.log(obj.propertyIsEnumerable( 'a' ));
    24 console.log(obj.propertyIsEnumerable( 'b' ));
    25 
    26 // Object.keys(..)会返回一个包含可枚举的属性的数组
    27 console.log(Object.keys( obj ));
    28 // Object.getOwnPropertyNames(..)返回一个包含所有属性的数组,不管能不能枚举
    29 console.log(Object.getOwnPropertyNames( obj ));
  • 相关阅读:
    java面试常见的类
    Day6
    DAY5
    Day4
    Day3
    Day2
    Day1
    echarts3关系图:力引导布局, 固定某些节点
    Hbuilder中配置cmd
    webpack 学习
  • 原文地址:https://www.cnblogs.com/kuangliu/p/6375574.html
Copyright © 2011-2022 走看看