首页 > 解决方案 > 如何在js中声明具有自定义名称的var?

问题描述

我想声明一个变量,其名称是另一个其他变量的内容。有可能的 ?

我试过这个:

var "x" + "y" = 1;

声明这一点:

var xy = 1;

但这会引发错误: Uncaught SyntaxError: Unexpected string

标签: javascriptvariables

解决方案


创建具有动态名称的局部变量的唯一方法(AFAIK)是使用eval(). 由于性能问题,这不是一个很好的解决方案。您还可以使用全局对象创建具有动态名称的全局变量。

eval(`var ${varName} = 123;`);
globalThis[varName] = 123;

但是,使用动态名称创建变量并不常见。您最需要的是一个Map.

const varName = "varName", otherVarName = "otherVarName";

const map = new Map();
map.set(varName, 123);
map.set(otherVarName, 456);
console.log(map.get(varName), map.get(otherVarName));


推荐阅读