在JavaScript對象的屬性是無序的集合。每個鍵值對稱為一個屬性。對象屬性的鍵可以是字符串。屬性的值可以是任何值,例如字符串、數(shù)字、數(shù)組,甚至是函數(shù)。
JavaScript為您提供多種創(chuàng)建對象的方法。最常用的一種是使用對象字面量創(chuàng)建對象。
代碼let empty = {};
使用對象字面量創(chuàng)建一個空對象。要創(chuàng)建具有屬性的對象,請在大括號添加鍵值對作為屬性。
代碼let person = { firstName: 'John', lastName: 'Doe'};
創(chuàng)建person
對象。person
對象有兩個屬性firstName
和lastName
對應(yīng)的值是'John'
和'Doe'
。
訪問對象屬性
要訪問對象的屬性,可以有兩種訪問方式,第一種是點表示法和數(shù)組的索引表示法。
代碼objectName.propertyName
使用點符號來訪問對象的屬性,例如代碼person.firstName
訪問person
對象的firstName
屬性。
代碼objectName['propertyName']
通過數(shù)組的表示法訪問對象屬性的值。當(dāng)屬性名稱包含空格時,您需要將其放在單引號或者雙引號內(nèi)。
例如要訪問address
對象的'building no'
屬性,您需要使用數(shù)組的表示法,例如代碼console.info(address['building no']);
。
let person = {
firstName: 'John',
lastName: 'Doe'
};
console.log(person.firstName);
let address = {
'building no': 3960,
street: 'North 1st street',
state: 'CA',
country: 'USA'
};
console.info(address['building no']);
如果你以點表示法訪問帶有空格的對象屬性,例如代碼address.'building no';
。你將會得到錯誤消息SyntaxError: Unexpected string
。
通常不建議在對象的屬性名稱使用空格。如果訪問對象不存在的屬性將會返回undefined
。例如代碼console.log(address.district);
。
修改屬性的值
要更改屬性的值,您可以使用賦值運算符=
。在以下示例中,我們將person
對象的firstName
屬性值更改為'Jane'
。
let person = {
firstName: 'John',
lastName: 'Doe'
};
person.firstName = 'Jane';
console.log(person);
添加對象屬性
與Java和C#等其他編程語言中的對象不同,您還可以在創(chuàng)建對象后向?qū)ο筇砑訉傩?。代碼person.age = 25;
將age
屬性添加到person
對象并設(shè)置屬性值是25。
person.age = 25;
刪除對象屬性
要刪除對象的屬性,您可以使用運算符delete
。代碼語法是delete objectName.propertyName;
。
例如代碼delete person.age;
從person
對象中刪除屬性age
。如果您嘗試重新訪問 age
屬性,您將獲得undefined
值。
delete person.age;
檢查對象屬性是否存在
要檢查對象中是否存在屬性,可以使用運算符in
。代碼語法是propertyName in objectName
。如果對象中存在屬性,in
運算符返回true
,否則返回false
。
以下示例創(chuàng)建employee
對象并使用運算符in
檢查對象中是否存在ssn
和employeeId
屬性。
let employee = {
firstName: 'Peter',
lastName: 'Doe',
employeeId: 1
};
console.log('ssn' in employee);
console.log('employeeId' in employee);
結(jié)論
對象是鍵值對的集合??梢允褂命c符號 .
或數(shù)組的符號[]
訪問對象的屬性。delete
運算符可以在對象刪除屬性。in
運算符可以檢查對象否存在指定屬性。
-
字符串
+關(guān)注
關(guān)注
1文章
585瀏覽量
20610 -
對象
+關(guān)注
關(guān)注
1文章
38瀏覽量
17421 -
javascript
+關(guān)注
關(guān)注
0文章
525瀏覽量
53950
發(fā)布評論請先 登錄
相關(guān)推薦
標(biāo)準(zhǔn)的ORTI對象及屬性
標(biāo)準(zhǔn)的ORTI對象及屬性
【初級】labview教程每日一教之10局部與全局變量+11屬性節(jié)點
對象存儲與傳統(tǒng)網(wǎng)絡(luò)存儲有什么區(qū)別?
如何配置MMU page table walk的訪問屬性
基于屬性和規(guī)則的訪問控制模型
基于屬性的Web服務(wù)安全訪問控制方案
基于屬性訪問控制方法中的策略定義研究
基于區(qū)分對象集的啟發(fā)式屬性約簡算法
labview屬性節(jié)點教程,屬性節(jié)點有什么作用?
![labview<b class='flag-5'>屬性</b>節(jié)點教程,<b class='flag-5'>屬性</b>節(jié)點有什么作用?](https://file.elecfans.com/web1/M00/5B/66/pIYBAFtw12-Aa1fXAAHGGPeRPNs874.png)
LabVIEW初級教程之屬性節(jié)點初級課程的詳細資料說明
![LabVIEW初級教程之<b class='flag-5'>屬性</b>節(jié)點初級課程的詳細資料說明](https://file.elecfans.com/web1/M00/B3/C4/pIYBAF4hcPmATNBJAAD5WHeu5IE560.png)
關(guān)于組態(tài)CPU的訪問保護淺析
![關(guān)于組態(tài)CPU的<b class='flag-5'>訪問</b>保護淺析](https://file.elecfans.com/web1/M00/EA/8A/pIYBAGBz66iAKIkQAAAggg65HMk776.png)
評論