web前端技术博客
您当前的位置:web前端 > JavaScript知识点

JavaScript 属性的可枚举性

作者:只会切图的前端 发布时间:2021-01-04 13:42:31 浏览量:17

可枚举性即可以出现在对象属性的遍历中:for..in 任何可以通过原型链访问到的属性都会被枚举到。
propertyIsEnumerable(..)可以检查给定的属性名是否存在于对象中(非原型链上)且 enumerable:true
Object.keys(..)返回对象中所有可枚举的属性数组
Object.getOwnPropertyNames(..)返回所有属性的数组,无论是否可枚举
注意
Object.keys(..)和Object.getOwnPropertyNames(..)都只会查找对象直接包含的属性(非原型链上)

var obj={a:1};
Object.defineProperty(
   obj,
   "b",
   { enumerable:false, value:3 }
);
for(var k in obj){
   console.log(k,obj[k]); //输出 a 1
}

枚举性

发表评论
验证码:
联系我
粤ICP备17092958号