在开发过程中可能会遇到在循环中拼接索引来使用变量的需求,直接用字符串拼接是会报错的,可以使用对象或者全局变量来实现
// 创建一个对象,将变量名映射到对应的值
const data = {
data1: "Initial Value 1",
data2: "Initial Value 2",
data3: "Initial Value 3"
}; // 索引
let index = 2;
// 假设我们要设置 data2 的值 // 动态获取变量名
let variableName = `data${index}`;
// 设置变量的值
data[variableName] = "New Value 2";
console.log(data.data2); // 输出: New Value 2
借助全局window或者global 跟对象大差不差
// 定义变量
let data1 = "Initial Value 1";
let data2 = "Initial Value 2";
let data3 = "Initial Value 3";
// 获取全局作用域
const globalScope = window || global;
// 索引 let index = 2;
// 假设我们要设置 data2 的值
// 动态获取变量名
let variableName = `data${index}`;
// 设置变量的值
globalScope[variableName] = "New Value 2";
console.log(globalScope.data2); // 输出: New Value 2
但是直接访问全局作用域中的变量名可能导致安全漏洞和代码维护问题。使用对象属性访问是一种更安全、更可靠的方法。