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

如何通过变量名的字符串形式获取对应变量的实际值?

如何通过字符串形式的变量名访问对应变量值

你的代码里result只是拼接出的变量名字符串,并没有直接关联到实际变量。以下是几种可行的解决方法:

推荐方案:用对象存储变量(最佳实践)

把需要访问的变量统一放到一个对象中,通过对象属性访问器来获取对应值,这是最安全、可维护的方式:

const varStore = {
  test1: 6,
  test2: 4
};

function findVar(index) {
  let result = "test" + index;
  console.log(varStore[result]); // 输出6、4
}

findVar(1);
findVar(2);

全局作用域下的变量(局限场景)

如果你的变量是在全局作用域用var声明(注意let/const声明的全局变量不会挂载到全局对象上),可以通过全局对象访问:

  • 浏览器环境用window:
var test1 = 6; // 用var声明全局变量
var test2 = 4;

function findVar(index) {
  let result = "test" + index;
  console.log(window[result]); // 输出6、4
}

findVar(1);
findVar(2);
  • Node.js环境用globalThis:
var test1 = 6;
var test2 = 4;

function findVar(index) {
  let result = "test" + index;
  console.log(globalThis[result]);
}

findVar(1);
findVar(2);

不推荐:使用eval

虽然eval可以直接执行字符串代码来获取变量值,但存在严重的安全风险(如果index是不可信的用户输入,会执行恶意代码),同时也不利于代码维护,除非万不得已不要用:

let test1 = 6;
let test2 = 4;

function findVar(index) {
  let result = "test" + index;
  console.log(eval(result)); // 输出6、4
}

findVar(1);
findVar(2);

内容的提问来源于stack exchange,提问作者coolidenticon

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.05 01:11:32