javascript - 如何在函数调用时将字符串转换为变量名称

标签 javascript html canvas

我发现自己需要将字符串 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/

相关文章:

javascript - 在 JS 扩展中使用 chrome.bluetooth.AddProfile 的权限被拒绝

html - 强制页面在 Internet Explorer 中打开(不是 Edge/Spartan)

html - CSS 位置 : table and div inside div

javascript - context drawImage/canvas toDataURL 在 Opera Mobile 上明显滞后

javascript - 使用 jQuery 根据更大的父元素输入焦点

javascript - Android 和 svg 中的平面图

javascript - 在 HTML Canvas 中重绘对象时出现问题

javascript - 在弹出窗口中显示组合的 Canvas 图像

javascript - 为图像 slider 优化/制作更好的 JQuery 代码

html - 在浏览器调整大小时收缩其他行之前完全收缩中间行