我正在尝试简化javascript对象内容的创建,以便值取决于成员名称,类似于以下示例:
var obj = {
1: "you selected 1",
2: "wow, you selected 2",
3: "this time, you selected " + myName(), //myName() gets resolved to 3
137: "I think you've chosen " + myName() + " this time.", //myName() gets resolved to 137
513: myName() + " is the answer!" //myName() gets resolved to 513
};
是否可能在值的定义中引用成员名称,使用类似于所谓函数 myName()的东西来进行反向引用?
如果没有本地方法存在,那么推荐实现此功能的方法是什么?
你可能会问"这家伙为什么需要这种奇怪的对象生成方式?",答案是:在我的代码中,成员/字段名可能会更改,将使用默认值进行复制,唯一不同之处就是对成员名称的引用,我不想在每个键值对中两次定义数字值,因此我正在寻找一种在值的定义中进行反向引用的方法来引用名称。
obj ={ "dave" : "my name is "+key}
这里的 key 将会被解析为 dave。 - Dave Ranjan