You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何将字符串转换为变量?获取拼接字符串对应的变量值

如何通过字符串获取对应变量的值

针对你的问题,有两种常见的解决思路,我一个个给你拆解说明:

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

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.05.15 07:31:22