在 JavaScript 中按名称动态检索全局变量
通过名称字符串动态访问全局变量的需求可能会出现在各种场景中。在 JavaScript 中,全局变量在任何函数或块之外声明,从而可以在整个脚本中访问它们。
使用 Window 对象访问全局变量
传统上,全局变量可以使用窗口对象来访问。例如,如果您有一个名为 someVarName_10 且值为 20 的全局变量,则可以使用以下方式检索它:
window["someVarName_10"] //returns 20
动态访问局部变量
但是,问题的重点是通过名称动态访问局部变量。在 JavaScript 中,函数或块中声明的局部变量在其作用域之外不可访问。
动态访问只能通过全局变量
答案中提供的解决方案表明只有使用全局变量才能通过名称动态访问变量。它展示了如何使用 window 对象访问名为 someVarName_10 的全局变量,甚至使用字符串连接动态构造其名称,如第二个代码示例所示:
alert(window['someVar' + 'Name_' + num]); //alert 20
更新(编辑的问题)
更新后的问题阐明了访问局部变量的意图。但是,如前所述,局部变量在其范围之外无法访问,也无法通过名称动态检索。
以上是在 JavaScript 中可以通过名称动态访问局部变量吗?的详细内容。更多信息请关注PHP中文网其他相关文章!