在JavaScript中,一切皆對象。
首先我們都知道,在JavaScript中創建對象的方式有三種,可以通過new關鍵字創建,也可以通過Object.create()方式創建,另外還可以通過對象字面值的方式創建,對象的創建,由花括號{}包含的一個由0個或多個對象屬性名和屬性值組成的列表構成。對象的屬性值可以是固有類型,也可以是其它對象。創建對象後,可以讀取或者修改它,既可以通過下標小圓點訪問,也可以通過方括號標記訪問。
在開發過程中,通常會使用對象字面值方式創建,創建一個沒有屬性的空對象可以使用如下方式:
var object = {};
使用這種方式的優勢在於可以用內含屬性的花括號快速創建對象。例如,以下代碼創建一個包含3個屬性的對象:
var object = {
foo:'bar',
age:42,
baz:{myProp:12}
}
對象字面值記法跟JavaScript Object Notation(JSON)看起來很相似,但它們是不同的,不同點有以下幾點:
①JSON 只允許"property": value syntax形式的屬性定義。屬性名必須用雙引號括起來。且屬性定義不允許使用簡便寫法。
②JSON中,屬性的值僅允許字符串,數字,數組,true,false,或者其他JSON對象。
③JSON中,不允許將值設置為函數。
④Date 等對象,經JSON.parse()處理後,會變成字符串。
⑤JSON.parse() 不會處理計算的屬性名,會當做錯誤拋出。