如何将字符串转换为变量?获取拼接字符串对应的变量值
如何通过字符串获取对应变量的值
针对你的问题,有两种常见的解决思路,我一个个给你拆解说明:
1. 借助全局对象访问(仅适用于全局变量场景)
如果你的currentScore0、currentScore1是在全局作用域声明的变量(比如浏览器环境下直接写在脚本最外层),可以利用全局对象来实现需求。在浏览器里,所有全局变量都会自动挂载到window对象上,这时用方括号语法就能通过字符串访问到对应变量的值:
var activePlayer = 0; var currentScore0 = 0; var currentScore1 = 0 ; var player = "currentScore"+activePlayer; // 获取目标变量的值 var targetScore = window[player]; console.log(targetScore); // 输出:0
⚠️ 注意:如果这些变量是函数内部的局部变量,这种方法就失效了——因为局部变量不会挂载到全局对象上。而且这种写法可读性较差,不推荐在复杂项目中使用。
2. 使用对象统一存储(更推荐的规范写法)
其实更优雅的方案是把相关的分数变量整合到一个对象里,完全不需要拼接字符串,直接通过索引就能获取对应值,代码也更清晰易维护:
var activePlayer = 0; // 用对象存储两个玩家的当前分数 var currentScores = { 0: 0, 1: 0 }; // 直接通过activePlayer作为键获取对应分数 var targetScore = currentScores[activePlayer]; console.log(targetScore); // 输出:0 // 后续更新分数也很方便 currentScores[activePlayer] += 15; console.log(currentScores[activePlayer]); // 输出:15
这种方式不管变量是全局还是局部都能正常工作,还能避免字符串拼接带来的潜在问题,是更符合JavaScript代码规范的做法。
内容的提问来源于stack exchange,提问作者aman jha
相关产品推荐
相关产品推荐

