zoukankan      html  css  js  c++  java
  • or in 、Object.keys()以及Object.getOwnPropertyNames有什么区别?

    or in 、Object.keys()以及Object.getOwnPropertyNames的区别

    var obj= Object.create(parent, {
    b: {
    value: 2,
    writable: true,
    enumerable: true,
    configurable: true
    },
    c: {
    value: 3,
    writable: true,
    enumerable: false,
    configurable: true
    }
    });
    obj.__proto__ = {age:123};

    1、 for in 遍历对象,会将对象自身的属性以及原型上继承的属性都打印出来,但是不会获取不可枚举的属性。

    for(let key in obj){
    console.log(key) // =>b ,age
    }
    

      

    2、Object.keys()遍历对象,获取对象自身可枚举属性。

    var arr = Object.keys(obj);
    console.log(arr) => ['b']

    3、Object.getOwnPropertyNames()遍历对象,获取所有自身属性,包括不可枚举的属性。

    var arr = Object.getOwnPropertyNames(obj);
    console.log(arr) => ['b','c']
    

      

    -------------------------------------------

    个性签名:独学而无友,则孤陋而寡闻。做一个灵魂有趣的人!

    如果觉得这篇文章对你有小小的帮助的话,记得在右下角点个“推荐”哦,博主在此感谢!

    万水千山总是情,打赏一分行不行,所以如果你心情还比较高兴,也是可以扫码打赏博主,哈哈哈(っ•̀ω•́)っ✎⁾⁾!

  • 相关阅读:
    左式堆
    winsock库
    二叉堆
    关键字explicit
    HDOJ 1012
    HDOJ 1013
    STL priority实例
    二项队列
    ASP.NET Session过期问题揭秘
    RenderControl (asp.net)
  • 原文地址:https://www.cnblogs.com/mahmud/p/10236756.html
Copyright © 2011-2022 走看看