【发布时间】:2011-07-06 03:24:48
【问题描述】:
这让我发疯了。我正在尝试使用动态变量在 javascript 中获取对象。静态变量似乎可以工作,但我一辈子都看不到我输入的静态变量和动态变量之间的区别。
我下面的 sn-p 更好地说明了这个问题
console.log(itemId); //E2
console.log(typeof itemId); //string
console.log(typeof 'E2'); //string
console.log(ganttObject.items['E2']); //object [with data]
console.log(ganttObject.items[itemId]); //undefined
奇怪的是,我在脚本的其他地方广泛使用了对象的动态调用,但它在这里中断了。
在 Safari 和 Chrome 中测试
【问题讨论】:
-
console.log(itemId === 'E2')评估为真吗?您是否绝对确定您的代码中没有发生任何其他事情? -
@Andy 不,它不会评估为真......除了类型之外,两个变量之间还有什么区别?如果第一个
console.log(itemId)未定义或不是“E2”,这一切都有意义
标签: javascript variables object dynamic