如何在函数调用时将字符串转换为变量名称
How to convert string to var name at function call
我发现自己需要将字符串变量(在JavaScript中(转换为获取元素时调用的变量名称。我对此的自发解决方案是写:
this.name = name;
[...]
this.context.drawImage(imageRepository.(this.name), this.x, this.y);
但是,这不起作用,返回"意外令牌("。有什么建议吗?
您查找的是属性名称,而不是变量名称。您可以使用括号表示法:
imageRepository[this.name]
在 JavaScript 中,您可以通过两种方式引用属性:使用点表示法和属性名称文字 (obj.foo
(,或使用括号表示法和属性名称字符串 (obj["foo"]
(。在后一种情况下,字符串可以是任何表达式的结果,包括在另一个对象(this.name
(上查找属性。
在这种情况下,您需要括号表示法。
imageRepository[this.name]
括号表示法计算变量并选择适当的属性。
相关文章:
- AngularJS-在JSON选择器中使用变量名
- 命令行中的Uglify js;不要弄乱变量名
- 像createComment这样的各种自定义变量名在内联javascript中被覆盖,但在外部js中没有.为什么?
- 这在JavaScript中是一个好的变量名吗
- 在javascript中,在变量名之前使用var有什么区别/优势吗
- 在Javascript中连接一个动态变量名
- 如何使用jQuery循环变量名
- JavaScript将字符串转换为变量名
- 根据发送到javascript中函数的参数创建变量名
- 检索本身包含变量的 Jquery 变量名的值
- 测试JavaScript是否符合异常变量名
- 动态变量名语法
- 动态jQuery变量名
- 如何将变量名转换为对象jQuery的索引字符串
- 将字符串转换为要在jQuery.animate中使用的变量名
- 将json数组从嵌套表单数据转换为变量名/值以重新填充表单
- 在javascript中将字符串转换为变量名
- 在Javascript中将变量名转换为字符串
- 将数组中的字符串文字转换为变量名
- Javascript变量名强制转换为字符串