在我有类似以下代码的情况下:
var variableNames=["thisMonth", "thisDay"];
var variableValues=["February", 17];
有什么方法可以遍历数组并用相应的值启动变量吗?我尝试过类似的事情
for(var i=0;i<variableNames.length;i++){
eval("var "+variableNames[i]+"="+variableValues[i]+";");
}
但我没有得到任何结果。是 eval 无法定义变量,还是存在其他问题?任何解决方案将不胜感激。
最佳答案
您需要在对象上分配变量。如果你想创建全局变量,下面的代码应该可以工作:
for (var i=0; i<variableNames.length; i++) {
window[variableNames[i]] = variableValues[i];
}
//test
console.log(thisMonth); //"February"
关于javascript - 在 Javascript 中动态定义变量,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21867155/