javascript - 如何在js中声明具有自定义名称的var?
问题描述
我想声明一个变量,其名称是另一个其他变量的内容。有可能的 ?
我试过这个:
var "x" + "y" = 1;
声明这一点:
var xy = 1;
但这会引发错误: Uncaught SyntaxError: Unexpected string
解决方案
创建具有动态名称的局部变量的唯一方法(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));
推荐阅读
- java - 断言这两个列表具有相同的长度。创建所有姓名和姓氏的列表
- entity-framework-core - EFCore 和 C# 5.0 的多对多关系:如何从两个表中获取字段
- python - 从班级打开的窗口显示不正确
- plot - AttributeError: 'list' object has no attribute 'shape', 如何解决这个错误
- android - 如何制作一个返回通用对象的函数?
- npm - Npm 在定义对等依赖时包括所有预发布范围
- reactjs - 如何重用重载的函数类型并将其分配给另一个函数?
- azure-devops - az pipelines 错误:TF400813:用户 '' 无权访问此资源
- css - 如何在 Evolution Mail 中更改日历的 Today-Background
- javascript - 如何按顺序从数组中获取元素?