我发现自己需要将字符串 var (在 JavaScript 中)转换为获取元素时调用的变量名。我对此的自发解决方案是这样写:
this.name = name;
[...]
this.context.drawImage(imageRepository.(this.name), this.x, this.y);
但这不起作用,返回“意外的 token (”。有什么建议吗?
最佳答案
您正在寻找属性名称,而不是变量名称。您可以使用括号表示法:
imageRepository[this.name]
在 JavaScript 中,您可以通过两种方式引用属性:使用点符号和属性名称文字 (obj.foo
),或使用括号符号和属性名称字符串(obj["foo"]
)。在后一种情况下,字符串可以是任何表达式的结果,包括查找另一个对象的属性 (this.name
)。
关于javascript - 如何在函数调用时将字符串转换为变量名称,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26573544/