在javascript中指定对象文字内的属性的不同方法

时间:2012-04-29 12:12:29

标签: javascript properties object-literal

我在javascript中看到了以下两种指定对象文字属性的方法。

var a = {prop:2}

var a ={'prop':2}

这两种方式有什么区别..我知道第二种方法允许我们在属性名称中包含空格。是否还有其他优点。?

1 个答案:

答案 0 :(得分:5)

除了您对创建无效标识符的属性名称的能力的观察之外没有区别。通过对属性名称使用带引号的字符串,可以使用任何字符串。当然,在访问此类属性时,您必须使用[ ]代替.

var obj = { 'crazy property name': 100 };

if (obj[ 'crazy property name' ] > 1) alert("hi");

请注意,严格的JSON语法需要引用属性名称,此外需要引用始终使用双引号字符。