我发现自己需要将字符串var(在JavaScript中)转换为在获取元素时调用的变量名称。我自发地解决了这个问题:
this.name = name;
[...]
this.context.drawImage(imageRepository.(this.name), this.x, this.y);
然而,这不起作用,返回"意外的令牌("。有任何建议吗?
答案 0 :(得分:1)
您正在寻找属性名称,而不是变量名称。您可以使用括号表示法:
imageRepository[this.name]
在JavaScript中,您可以通过两种方式引用属性:使用点表示法和属性名称 literal (obj.foo
),或使用括号表示法和属性名称字符串(obj["foo"]
)。在后一种情况下,字符串可以是任何表达式的结果,包括在另一个对象(this.name
)上查找属性。
答案 1 :(得分:0)
在这种情况下你需要括号表示法。
imageRepository[this.name]
括号表示法评估变量并选择适当的属性。