組成
所謂對象埃唯,就是一種無序的數(shù)據(jù)集合,由若干個“鍵值對”(key-value)構(gòu)成瓮增。{key: value}
是 JS 對象字面量寫法
基本使用
name: 'hunger',
age: 3,
sayHello: function(){
console.log('hello world')
}
}
console.log(company.name)
console.log(company['name'])
company.sayHello()
company.addr = '杭州市'
compay['business'] = '前端課程'
for(var key in company){
console.log(key)
console.log(company[key])
}
詳細(xì)介紹
鍵名
- 對象的所有鍵名都是字符串随夸,所以加不加引號都可以松忍。
- 如果鍵名是數(shù)值跋理,會自動被轉(zhuǎn)為字符串择克。
- 如果鍵名不符合標(biāo)識符規(guī)則,也不是數(shù)字前普,則必須加上引號肚邢,否則會報錯。
屬性
- 對象的每一個“鍵名”又稱為“屬性”(property)拭卿,它的“鍵值”可以是任何數(shù)據(jù)類型骡湖。如果一個屬性的值為函數(shù),通常把這個屬性稱為“方法”峻厚,它可以像函數(shù)那樣調(diào)用响蕴。
表達(dá)式還是語句?
- JavaScript規(guī)定目木,如果行首是大括號换途,一律解釋為語句(即代碼塊)懊渡。如果要解釋為表達(dá)式(即對象)刽射,必須在大括號前加上圓括號。
屬性的操作
- 讀取屬性
讀取對象的屬性剃执,有兩種方法誓禁,一種是使用點(diǎn)運(yùn)算符,還有一種是使用方括號運(yùn)算符肾档。
p: 'Hello World'
};
o.p // "Hello World"
o['p'] // "Hello World"
上面代碼分別采用點(diǎn)運(yùn)算符和方括號運(yùn)算符摹恰,讀取屬性p。
請注意怒见,如果使用方括號運(yùn)算符俗慈,鍵名必須放在引號里面,否則會被當(dāng)作變量處理遣耍。但是闺阱,數(shù)字鍵可以不加引號,因?yàn)闀划?dāng)作字符串處理舵变。
- 檢查變量是否聲明
如果讀取一個不存在的鍵酣溃,會返回undefined瘦穆,而不是報錯∩尥悖可以利用這一點(diǎn)扛或,來檢查一個全局變量是否被聲明。 - 屬性的賦值