什么是JavaScript中的不可枚举属性,如何创建它?
不可枚举属性
对象可以拥有在使用**Object.keys()**或**for...in**循环遍历特定对象时不会显示的属性。这些类型的属性称为**不可枚举**属性。
创建不可枚举属性
要创建不可枚举属性,我们必须使用**Object.defineProperty()**方法。这是一种创建对象**不可枚举**属性的特殊方法。
在下面的示例中,name、age和country三个属性是正常创建的,而名为“salary”的属性是使用**Object.defineProperty()**方法创建的,名为enumerable的键被赋值为**false**。当使用Object.keys()迭代对象“person”时,name、age和country属性会显示出来,而属性“salary”则不会显示。由于salary属性无法显示,因此它被称为不可枚举属性。这就是创建不可枚举属性的方法。
**Object.defineProperty()**还可以让我们创建只读属性,如下所示,我们无法修改person对象的salary值。要使salary属性可枚举,请将名为**enumerable**的**键**赋值为**true**。
示例
<html>
<body>
<script>
var person = {
name: 'gopal'
};
person.age = '21';
person['country'] = 'India';
Object.defineProperty(person, 'salary',{
value : '80,000$',
enumerable: false
})
document.write(Object.keys(person));
</script>
</body>
</html>输出name,age,country
广告
数据结构
网络
关系数据库管理系统 (RDBMS)
操作系统
Java
iOS
HTML
CSS
Android
Python
C语言编程
C++
C#
MongoDB
MySQL
Javascript
PHP