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

Different ways of specifying properties inside object literals in javascript

本文关键字:属性 方法 文字 javascript 对象      更新时间:2023-09-26

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

var a = {prop:2}

var a ={'prop':2}

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

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

var obj = { 'crazy property name': 100 };
if (obj[ 'crazy property name' ] > 1) alert("hi");

请注意,严格的 JSON 语法要求属性名称用引号括起来,此外,它还要求始终使用双引号字符进行引用。