JavaScript中用字面量创建对象介绍

  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标准中,”}”字符前出现”,”是合法的,该逗号会被直接忽略掉。