屬性是對象內(nèi)的名稱(鍵)和值之間的關聯(lián),并且它可以包含任何數(shù)據(jù)類型。
屬性通常是指一個對象的特征。
通??梢愿?,添加和刪除屬性,但某些屬性是只讀的。
有兩種訪問對象屬性的方法:
點表示法: .
括號符號: []
讓我們重新訪問原始示例對象user。
user.firstName;測試看看?/?
user["firstName"];測試看看?/?
點號和括號都經(jīng)常使用。但是,(.)點表示法更快,更易讀。
為了向?qū)ο筇砑有聦傩?,您可以使用賦值運算符(=)將新值分配給屬性。
假設用戶對象已經(jīng)存在-然后可以為其賦予新屬性:
user.weapon = "Sword";測試看看?/?
注意:避免對屬性或方法名稱使用保留字。
可以通過將新值分配給現(xiàn)有屬性來修改對象的屬性。
var user = {firstName:"Seagull", lastName:"Anna", age:22, location:"New Delhi"}; user.location = "Goa";測試看看?/?
為了從對象中刪除屬性,我們將使用delete關鍵字。
delete是用于從對象中刪除屬性的運算符,可以刪除對象的屬性。
下面的示例演示如何從對象中刪除屬性:
var user = {firstName:"Seagull", lastName:"Anna", age:22, location:"New Delhi"}; delete user.location;測試看看?/?
delete運算符將刪除該屬性的兩個值和屬性本身。
不得在預定義的JavaScript對象屬性上使用delete運算符。它可能會使您的應用程序崩潰。
JavaScript具有for...in專門用于迭代對象屬性的循環(huán)。
語法:
for (variable in object) { statement to be executed}
這是我們的主要對象示例用戶的簡化版本:
var user = {firstName:"Seagull", lastName:"Anna", age:22, location:"New Delhi"}; for (let x in user) { document.write(x); }測試看看?/?
使用括號符號,我們可以將屬性值檢索為變量,在本示例中為x:
for (let x in user) { document.write(user[x]); }測試看看?/?
for...in循環(huán)不應與for...of循環(huán)混淆,后者僅在Array對象類型上使用。
另一個有用的枚舉方法是Object.keys()方法,該方法將返回對象屬性的數(shù)組。
// 在用戶對象上初始化方法以返回屬性鍵 Object.keys(user);測試看看?/?
此方法使我們可以將對象的屬性作為數(shù)組使用,因此您可以利用JavaScript數(shù)組的所有方法。
所有屬性都有一個名稱。另外它們也有屬性值。
該值是屬性的屬性之一。
其他屬性是:可枚舉,可配置和可寫。
這些屬性定義了屬性的訪問方式(可讀性,可寫性)。
在JavaScript中,可以讀取所有屬性,但是只能更改屬性值(并且僅在該屬性為可寫狀態(tài)時)。