我的javavscript代码中有多个Hashmap,我试图根据传递给函数的名称动态加载相关的地图。
问题是当我将值作为字符串值传递时,它实际上试图获取字符串的键而不是它引用的对象。
这jsfiddle恰当地说明了我的问题。
Line 13
给出预期的输出,而Line 14
从字符串名称中创建键。
答案 0 :(得分:0)
它基本上是区别:
Object.keys(PROP_ONE)
和
Object.keys("PROP_ONE")
虽然第一个是解析为对象的标识符,但第二个只是一个字符串。不多。您可以使用括号表示法访问它,因为它是窗口的一部分:
Object.keys(window["PROP_ONE"])
声明:
总而言之,如果真的有必要,应该使用动态密钥。它们使您的代码更慢,更多的错误。