JavaScript propertyIsEnumerable() 方法详解

作者:代码拾荒时间:2026-10-28 08:57:28浏览:490

本文介绍 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
} 
作者最新文章