一般网站做哪些端口映射,wordpress 好的主题,wordpress小图标大全,天津百度seo推广首先第一个问题,forEach能不能遍历对象的属性
const obj { a: 1, b: 2, c: 3 };
obj.forEach((item) console.log(item))运行这段代码我们发现发生了一个错误 这说明forEach是不可以遍历对象的属性的
在js中,forEach 方法用于遍历数组或类数组对象#xff08;如 NodeL…首先第一个问题,forEach能不能遍历对象的属性
const obj { a: 1, b: 2, c: 3 };
obj.forEach((item) console.log(item))运行这段代码我们发现发生了一个错误 这说明forEach是不可以遍历对象的属性的
在js中,forEach 方法用于遍历数组或类数组对象如 NodeList
第二个问题,怎么遍历对象的不可枚举属性呢
这里有一个对象,我们定义了一个不可枚举属性
const obj { a: 1, b: 2, c: 3 };// 定义一个不可枚举属性
Object.defineProperty(obj, d, {value: 4,enumerable: false,
});我们可以通过两种方式来遍历不可枚举属性
可以通过 Object.defineProperty() 方法重新定义属性将其 enumerable 属性设置为 true使其变得可枚举。如果需要遍历对象的所有属性包括不可枚举属性可以使用 Object.getOwnPropertyNames() 方法。
Object.getOwnPropertyNames() 静态方法返回一个数组其包含给定对象中所有自有属性包括不可枚举属性但不包括使用 symbol 值作为名称的属性。
同时通过getOwnPropertyNames方法,我们就可以对其返回值调用forEach来进行遍历了
const obj { a: 1, b: 2, c: 3 };// 定义一个不可枚举属性
Object.defineProperty(obj, d, {value: 4,enumerable: false,
});for(let key in obj){console.log(key, obj[key])
}console.log(----------------------------------)// 使用 Object.getOwnPropertyNames() 和 forEach
Object.getOwnPropertyNames(obj).forEach((key) {console.log(${key}: ${obj[key]});
});