从变量中动态获取值

get value from variable dynamically

本文关键字:获取 动态 变量      更新时间:2023-09-26

我正在尝试获取变量的值,但没有成功,其中变量名为动态

var v_1playerName = document.getElementById("id_1playerName").value;
var v_2playerName = document.getElementById("id_2playerName").value; 
for (i = 1; i <=5 i++) {
    alert(window["v_"+i+"playerName"]);
}

这可能吗?

一件简单的事情是将变量放在一个数组中,然后使用for循环来显示它们。

var v_1playerName = document.getElementById("id_1playerName").value;
var v_2playerName = document.getElementById("id_2playerName").value; 
var nameArray = [v_1playerName,v_2playerName];
for (var i = 0; i < 5; i++) {
alert(nameArray[i]);
}

通过window访问变量不是一个好主意。

只需将值存储在对象中,然后使用平方表示法访问它们:

var obj = {
  v_1playerName: 0,
  v_2playerName: 3
}
obj['v_' + 2 + 'playerName']; // 3

如果您想保留对事物的命名引用,可以使用对象。

var playerNames = {};
playerNames['p1'] = document.getElementById("id_1playerName").value;
playerNames['p2'] = document.getElementById("id_2playerName").value;
for (i = 1; i <= 2; i++) {
  // dynamically get access to each value
  alert.log(playerNames['p' + i])
}