最新的Web開發教程
 

JavaScript對象屬性


屬性是任何JavaScript對象的最重要的部分。


JavaScript的性能

屬性是用JavaScript對象關聯的值。

JavaScript對象是無序屬性的集合。

屬性通常可以更改,添加和刪除,但有些是只讀的。


訪問JavaScript的性能

訪問的對象的屬性的語法是:

objectName.property          // person.age

要么

objectName["property"]       // person["age"]

要么

objectName[expression]       // x = "age"; person[x]

表達式的值必須為屬性名。

例1

person.firstname + " is " + person.age + " years old.";
試一試»

例2

person["firstname"] + " is " + person["age"] + " years old.";
試一試»

的JavaScript for...in循環

中的JavaScript for...in語句遍歷一個對象的屬性。

句法

for (variableinobject) {
    code to be executed
}

的代碼的內部塊for...in循環將一次為每個屬性執行。

通過一個對象的屬性循環:

var person = {fname:"John", lname:"Doe", age:25};

for (x in person) {
    txt += person[x];
}
試一試»

添加新特性

您可以通過簡單地給它一個價值的現有對象添加新的屬性。

假設人對象已經存在 - 那麼你可以賦予它新的特性:

person.nationality = "English";
試一試»

不能使用保留字財產(或方法)的名稱。 JavaScript的命名規則。


刪除屬性

delete關鍵字刪除一個對象的屬性:

var person = {firstName:"John", lastName:"Doe", age:50, eyeColor:"blue"};
delete person.age;   // or delete person["age"];
試一試»

delete關鍵字刪除屬性的兩個值和屬性本身。

刪除之後,再次添加回之前不能使用的屬性。

delete運算符的目的是要在對象屬性使用。 其對變量或函數沒有影響。

delete操作者不應該預先定義的JavaScript對象的屬性可以使用。 它可以引起程序崩潰。


property屬性

所有屬性有一個名稱。 此外他們還有一個值。

該值是屬性的屬性之一。

其他屬性是:枚舉的,可配置的,可寫的。

這些屬性定義屬性如何被訪問(它是可讀的?是不是寫嗎?)

在JavaScript中,所有的屬性可以讀,但只有value屬性是可以改變的(且僅當該屬性是可寫的)。

(ECMAScript中有5為獲取和設置所有的財產屬性的方法)


原型屬性

JavaScript對象繼承其原型的屬性。

delete的關鍵字不會刪除繼承屬性,但是如果你刪除一個prototype屬性,它會影響從原型繼承的對象。