美文网首页
Day40 对象原型

Day40 对象原型

作者: JSleefat | 来源:发表于2019-05-15 17:34 被阅读0次
    1. in操作符会检查属性是否在对象及其[[Prototype]]原型链中。
    • 看起来 in 操作符可以检查容器内是否有某个值,但是它实际上检查的是某
      个属性名是否存在。对于数组来说这个区别非常重要,4 in [2, 4, 6] 的结
      果并不是你期待的 True,因为 [2, 4, 6] 这个数组中包含的属性名是 0、1、2,没有 4。
    • 在数组上应用 for..in 循环有时会产生出人意料的结果,因为这种枚举不
      仅会包含所有数值索引,还会包含所有可枚举属性。最好只在对象上应用
      for..in 循环,如果要遍历数组就使用传统的 for 循环来遍历数值索引。
    1. hasOwnProperty只会检查属性是否在对象中,不会检查[[Prototype]]原型链。
    2. propertyIsEnumerable()会检查给定的属性名是否直接存在于对象中(而不是在原型链上)并且满足enumerable:true
    3. Object.keys()会返回一个数组,包含所有可枚举属性
    4. Object.getOwnPropertyNames()会返回一个数组,包含所有属性,无论它们是否可枚举

    相关文章

      网友评论

          本文标题:Day40 对象原型

          本文链接:https://www.haomeiwen.com/subject/hyrmaqtx.html