1

我对 js 对象文字中的字段名称有疑问。我有一个test看起来像这样的函数:

function test()
{
    var o1 = {f1:"Hello"};
    var o2 = {"f1":"Hello"};
    alert(o1.f1 + " " + o2.f1);
}

结果是出现了一个写有“Hello Hello”的框(测试的灵感来自于看到所有字段名称都使用字符串的代码)。我的问题是,这两个对象有什么区别?引用字段名称和不引用字段名称有区别吗?如果两者功能相同,是否有任何特定的样式指南?

4

1 回答 1

4

我的问题是,这两个对象有什么区别?

它们是相同的。

引用字段名称和不引用字段名称有区别吗?

带引号的属性名称可能是无效标识符。

eg{ "foo-bar": 1 }很好,但是{ foo-bar: 1 }是语法错误。

于 2013-07-10T15:14:36.540 回答