JavaScript中可以用字面量來直接創建一個新對象:
復制代碼 代碼如下:
var obj = {a:27, "b":99};
如上所述,在用字面量來創建對象的時候,對象中的property定義可以用單引號或雙引號來包括,也可以忽略引號。不過,當property中出現空格、斜槓等特殊字符,或者使用的property與JS關鍵詞沖突時,則必須使用引號。
在用字面量來創建對象的時候,property可以是空字符串,property中也可以出現空格:
復制代碼 代碼如下:
//empty string is allowed as object property
var o = {"":88, "p":99};
console.log(o);//Object { =88, p=99}
//spaces can be included in property
var o2 = {"good score":99, "bad score":52};
console.log(o2);//Object {good score=99, bad score=52}
值得注意的是,即使使用的字面量相同,每次使用字面量時,JavaScript都會創建一個全新的對象:
復制代碼 代碼如下:
//every object literal creates a new and distinct object.
var x = {a:18, b:28};
var y = {a:18, b:28};
console.log(x === y);//false
在字面量中,如果最後多出一個逗號(“}”字符前出現”,”),那麼有一些JavaScript解釋器將報錯。事實上,在IE7中,這種行為將導致浏覽器假死等問題。在ECMAScript 5標准中,”}”字符前出現”,”是合法的,該逗號會被直接忽略掉。