javascript如何用变量值做变量名声明?

var ar=["a","b","c","d"]; //这有一个数组,想用里面的值声明变量名怎么做到 javascript里
var a=0;
var b=0:
var c=0;
var d=0;
.............一个一个写下去? 数组有十万个呢?还不知道里面的值是什么的时候 一直写? 不靠谱
for(var i=0;i<ar.length;i++){
var ar[i]=0; //这样?报错! 怎么用变量值做变量?
}

用eval嘛,大蓟即
var ar=["a","b","c","d"];
for(var i=0;i<ar.length;i++){
    eval("var " + ar[i] + "=0;");
}
// 看a变量就得到了
console.log(a);
// 明白了么,明白了就采纳,没明白就追问,一直到老,只要你讲诚信就好!!!!

追问

0也是变量呢?

温馨提示:答案为网友推荐,仅供参考
第1个回答  2015-11-07

可以使用eval函数来解决:

<script type="text/javascript">
    var ar=["a","b","c","d"];
    for(var i=0;i<ar.length;i++){
        eval('var '+ar[i]+'=0;');
    }
    alert(a);
    alert(b);
</script>

但是会有一定的污染全局变量的风险。

第2个回答  2020-01-01
12345678用eval嘛,大蓟即var ar=["a","b","c","d"];for(var i=0;i<ar.length;i++){ eval("var " + ar[i] + "=0;");}// 看a变量就得到了console.log(a);// 明白了么,明白了就采纳,没明白就追问,一直到老,只要你讲诚信就好!!!!
相似回答