• for...in 与 for...of


    Object.keys(..) 
    会返回一个数组,包含所有可枚举属性,
    Object.getOwnPropertyNames(..) 会返回一个数组,包含所有属性,无论它们是否可枚举。
    propertyIsEnumerable(..) 会检查给定的属性名是否直接存在于对象中(而不是在原型链 上)并且满足 enumerable:true。
    
    // 让 b 不可枚举  
    Object.defineProperty(myObj,"b",{ enumerable: false, value: 3 } )
    for...in 是遍历不出b属性的
    (for..in 循环可以用来遍历对象的可枚举属性列表(包括 [[Prototype]] 链))
    还有就是for...in遍历无法直接获取属性值
    
    ES6 增加了一种用来遍 历数组的for...of 循环语法(如果对象本身定义了迭代器的话也可以遍历对象):
    var myArray = [ 1, 2, 3 ];for(let v of myArr) console.log(v);
    for..of 循环首先会向被访问对象请求一个迭代器对象,然后通过调用迭代器对象的 next() 方法来遍历所有返回值。
    
    
    但是 b in myObj 却是true(可以通过 in 操作符来判断是否存在)
    
    hasOwnProperty(..) 只会检查属性是否在 myObj 对象中,不会检查 [[Prototype]] 链。
    
    所有的普通对象都可以通过对于 Object.prototype 的委托来访问 hasOwnProperty(..)
    但是有的对象可能没有连接到Object.prototype(通过 Object.create(null)来创建)
    这时可以使用一种更加强硬的方法来进行判断:Object.prototype.hasOwnProperty. call(myObj,"a")
  • 相关阅读:
    声明:此资源由本博客收集整理于网络,只用于交流学习,请勿用作它途。如有侵权,请联系, 删除处理。
    注入点归纳
    网站入侵思路
    关于网上的“人肉”里面的技巧,简单解释
    SQL注入复习
    自己构造注入点方便入侵
    SQL通常注射的一些介绍
    AWVS13破解版安装_Windows
    黑页
    显ipQQ
  • 原文地址:https://www.cnblogs.com/pittle-z/p/14071017.html
Copyright © 2020-2023  润新知