JavaScript 如何使用动态变量名
编程中,动态变量名不在脚本中有特定的名称。它们是使用来自其他来源的字符串值动态命名的。在JavaScript中很少使用动态变量。但在某些情况下它们是有用的。与PHP不同,JavaScript中没有特殊的动态变量名实现。但是可以通过使用其他一些方法来实现类似的结果。在JavaScript中,可以通过以下两种方法来实现动态变量名。
- JavaScript eval()方法
- Window对象
JavaScript eval()方法
eval()函数将作为字符串表示的JavaScript代码作为参数进行评估。将字符串作为参数传递给eval()。如果字符串表示表达式,eval()将评估表达式。在eval()中,我们通过传递一个字符串,在其中声明变量value i,并为每次迭代分配一个值i。eval()函数执行这个操作,并创建具有分配值的变量。下面的代码实现了使用eval()创建动态变量名的代码。
示例: 在此示例中,我们将看到如何使用eval()函数。
let k = 'value';
let i = 0;
for (i = 1; i < 5; i++) {
eval('var ' + k + i + '= ' + i + ';');
}
console.log("value1=" + value1);
console.log("value2=" + value2);
console.log("value3=" + value3);
console.log("value4=" + value4);
输出:
value1=1
value2=2
value3=3
value4=4
Window对象
JavaScript总是有一个全局对象定义。当程序创建全局变量时,它们被创建为全局对象的成员。在浏览器中,window对象是全局对象。任何全局变量或函数都可以通过window对象访问。在定义了一个全局变量后,我们可以通过window对象访问它的值。下面的代码使用window对象实现了动态变量名。所以,代码基本上为每次迭代的i创建一个名为”valuei”的全局变量,并将其赋值为i的值。后续这些变量可以在脚本的任何地方访问,因为它们变成了全局变量。
示例: 在这个示例中,我们将使用window对象。
let i;
for (i = 1; i < 5; i++) {
window['value' + i] = + i;
}
console.log("value1=" + value1);
console.log("value2=" + value2);
console.log("value3=" + value3);
console.log("value4=" + value4);
输出:
value1=1
value2=2
value3=3
value4=4