简介
1 .从ES5开始,三种原生方法可以列出或者枚举对象的属性
找全部属性方法1,不是遍历方法 for .. in
1 .一次循环访问一个对象的及其原型链中的所有可枚举,除了symbol的属性
for(i in Math){
console.log(i)
}
//这个会有一些方法,所以什么都不会打印出来,方法不是可枚举的,所以没有是吧
for(i in [1,2,3])
//1,2,3
2 .关键词.可枚举,极其原型链,还会排除symbol的
找全部属性方法2,不是遍历 Object.keys()
1 .返回对象自身,没有原型链的,可枚举的属性的数组
2 .关键词,没有原型链,可枚举,数组
找全部属性方法3,不是遍历 Object.getOwnPropertyNames(o)
1 .对象自身,不包括原型链,所有属性的名称的数组
2 .关键,不包括原型链,不可枚举的也能找出来
3 .Object.getOwnPropertyNames(Math) 这个就可以找出对象的方法
image.png
image.png
可枚举
1 .设置属性的时候enummable是true
2 .只会控制for in,keys,json.stringify三个方法里面,别的都不受他控制
网友评论