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

相关推荐