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 (variable in object) { 要執行的代碼 }
for...in
循環中的代碼塊會為每個屬性執行一次。
循環對象的屬性:
實例
var person = {fname:"Bill", lname:"Gates", age:62}; for (x in person) { txt += person[x]; }
添加新屬性
您可以通過簡單的賦值,向已存在的對象添加新屬性。
假設 person 對象已存在 - 那么您可以為其添加新屬性:
實例
person.nationality = "English";
您不能使用預留詞作為屬性名(或方法名)。請使用 JavaScript 命名規則。
刪除屬性
delete
關鍵詞從對象中刪除屬性:
實例
var person = {firstName:"Bill", lastName:"Gates", age:62, eyeColor:"blue"}; delete person.age; // 或 delete person["age"];
delete
關鍵詞會同時刪除屬性的值和屬性本身。
刪除完成后,屬性在被添加回來之前是無法使用的。
delete
操作符被設計用于對象屬性。它對變量或函數沒有影響。
delete
操作符不應被用于預定義的 JavaScript 對象屬性。這樣做會使應用程序崩潰。
屬性值
所有屬性都有名稱。此外它們還有值。
值是屬性的特性之一。
其他特性包括:可列舉、可配置、可寫。
這些特性定義了屬性被訪問的方式(是可讀的還是可寫的?)
在 JavaScript 中,所有屬性都是可讀的,但是只有值是可修改的(只有當屬性為可寫時)。
(ECMAScript 5 擁有獲取和設置所有屬性特性的方法)
原型屬性
JavaScript 對象繼承了它們的原型的屬性。
delete
關鍵詞不會刪除被繼承的屬性,但是如果您刪除了某個原型屬性,則將影響到所有從原型繼承的對象。