您永远不会设置
d[a]任何值。
因此,
d[a]计算为
undefined,您无法在上设置属性
undefined。
如果您添加
d[a] = {}正确,d = {}事情应该会按预期进行。另外,您可以使用对象初始化程序:
d[a] = { greetings: b, data: c};或者,您可以
d在匿名函数实例中设置的所有属性:
d = new function () { this[a] = { greetings: b, data: c };};如果您在支持ES2015功能的环境中,则可以使用计算属性名称:
d = { [a]: { greetings: b, data: c }};


