Javascript学习笔记——6.5 枚举属性

2018-04-26  本文已影响0人  IFELSE

for/in循环可以遍历对象中所有可枚举的属性(包括自有属性和继承属性),并将属性名称赋给循环变量。

对象继承的内置方法是不可枚举的。

var o ={x:1,y:2}
for(var p in o){
  console.log(p)
}

除了for/in外,还可以使用两个函数枚举属性名称,一个是Object.keys(),返回一个由可枚举的自有属性名称组成的数组。另一个是Object.getOwnPropertyNames(),返回所有自有属性,包括不可枚举的和可枚举的。

var p = {name:'Mike', age:18}
p.sayHello = function(){console.log('hello')}
Object.defineProperty(p,'sayHello',{enumerable:false}) //把sayHello设置为不可枚举
Objec.keys(p) //["name", "age"]
Object.getOwnPropertyNames(o)  //返回["name", "age", "sayHello"]
上一篇 下一篇

猜你喜欢

热点阅读