JavaScript propertyIsEnumerable() 方法详解

作者:代码拾荒

时间:2026-10-28

浏览:489

本文介绍 JavaScript 中 propertyIsEnumerable() 方法的使用。该方法用于检测属性是否直接存在于对象实例中且为可枚举属性。通过示例对比实例属性与原型属性的检测结果,说明其返回 true 需同时满足属于实例和可枚举两个条件,常用于过滤 for...in 遍历结果。

文章目录
// 代码结束

propertyIsEnumerable() 方法概述

代码如下:

 
/* 
propertyIsEnumerable() 方法用于判断指定属性是否直接存在于某个对象中。若属性满足条件,则返回 true;否则返回 false。
首先,该属性必须直接属于对象实例,而不能来自原型链。
其次,该属性必须是可枚举的,即自定义的属性,能够通过 for...in 循环遍历出来。
只有同时满足上述两个条件,该方法才会返回 true。
*/ 
实例属性与原型属性的检测示例function MyObject() {
this.name = "我是实例的属性";
} 
var obj = new MyObject();
alert(obj.propertyIsEnumerable("name")); // 输出 true
MyObject.prototype.say = "我是原型的属性";
alert(obj.propertyIsEnumerable("say")); // 输出 false
for (var i in obj) {
alert(i); // 输出 name, age
} 

实用工具推荐

电子包浆

绿化、压缩、噪点和虚拟水印,自由调节做旧程度。

使用 ›
图片压缩

选择画质和输出格式,预览压缩前后的大小。

使用 ›
相关文章