在 JavaScript 物件中定義屬性時,“enumerable”(可列舉)屬性的重要性是什麼?
我們可以使用點和方括號表示法來定義物件的屬性。還有一種方法可以使用名為Object.defineProperty()的屬性來定義屬性。它通常需要三個引數:物件名、屬性名和屬性描述符。
語法
Object.defineProperty(object name, property name, property descriptor)
讓我們用這種方法定義一個屬性。
示例
在下面的示例中,最初,物件只有一個名為“one”的屬性。後來,又添加了一個名為“two”的屬性。現在,當我們嘗試顯示所有屬性時,只顯示了第一個屬性,而沒有顯示新增的屬性,如輸出所示。
<html>
<body>
<script>
var object = {one: 1};
Object.defineProperty(
object,
'two', {
value: 2
}
);
document.write(JSON.stringify(object));
</script>
</body>
</html>輸出
{"one":1}這都是因為“enumerable”(可列舉)屬性。“enumerable”屬性必須為 true 才能在物件中定義屬性。但是,如果未宣告,“enumerable”的值為“false”。因此,要使該值為“true”,我們必須宣告“enumerable”併為其賦值“true”。
在下面的示例中,當“enumerable”被初始化並賦值為true時,所有屬性都將顯示,如輸出所示。
示例
<html>
<body>
<script>
var object = {one: 1};
Object.defineProperty(
object,
'two', {
value: 2,
enumerable: true
}
);
document.write(JSON.stringify(object));
</script>
</body>
</html>輸出
{"one":1,"two":2}
廣告
資料結構
網路
關係資料庫管理系統 (RDBMS)
作業系統
Java
iOS
HTML
CSS
Android
Python
C 語言程式設計
C++
C#
MongoDB
MySQL
Javascript
PHP