我对js对象文字中的字段名称有疑问。我有一个函数test
,如下所示:
function test()
{
var o1 = {f1:"Hello"};
var o2 = {"f1":"Hello"};
alert(o1.f1 + " " + o2.f1);
}
结果是出现一个框,其中写有“Hello Hello”(测试的灵感来自于查看使用字符串表示所有字段名称的代码)。我的问题是,这两个对象有什么区别?引用字段名称之间是否有区别?如果两者在功能上相同,是否有任何特定的风格指南?
答案 0 :(得分:4)
我的问题是,这两个对象有什么区别?
它们完全相同。
引用字段名称之间是否有区别?
引用的属性名称可以是无效标识符。
e.g。 { "foo-bar": 1 }
很好,但{ foo-bar: 1 }
是语法错误。