object = {}
key = 'jimbo'
$.extend( object, { key : 1 })
console.log( object ); // returned {key: 1}, expected {jimbo: 1}
很奇怪。变量被计算为一个字符串,并用作命名键。我希望将密钥称为jimbo
,而不是key
。
答案 0 :(得分:1)
我不确定$ .extend的优点是什么,但这有效:
object[key]=1
正如您所注意到的,您的示例的问题是{key:1},将“key”评估为字符串,而不是变量。类似的行为适用于
object.key = 1
与
object[key] = 1
我花了更多的时间来承认在我自己的代码中调试这个问题,特别是当我开始使用javascript时。