如何在函数调用时将字符串转换为var名称

时间:2014-10-26 13:33:02

标签: javascript html canvas

我发现自己需要将字符串var(在JavaScript中)转换为在获取元素时调用的变量名称。我自发地解决了这个问题:

this.name = name;
[...]
this.context.drawImage(imageRepository.(this.name), this.x, this.y);

然而,这不起作用,返回"意外的令牌("。有任何建议吗?

2 个答案:

答案 0 :(得分:1)

您正在寻找属性名称,而不是变量名称。您可以使用括号表示法:

imageRepository[this.name]

在JavaScript中,您可以通过两种方式引用属性:使用点表示法和属性名称​​ literal obj.foo),或使用括号表示法和属性名称​​字符串obj["foo"])。在后一种情况下,字符串可以是任何表达式的结果,包括在另一个对象(this.name)上查找属性。

答案 1 :(得分:0)

在这种情况下你需要括号表示法。

imageRepository[this.name]

括号表示法评估变量并选择适当的属性。