当前位置:
首页 > 技术 > js使用eval函数动态定义变量

js使用eval函数动态定义变量

在写JS时,常会遇到项目中,已经定义好了几个可以切换的定义变量,在某些场合下,需要动态来调用。例如:项目中程序实时生成三个变量汇率的实时全局变量,人民币对美元汇率,人民币对欧元汇率,人民币对马来西亚币,各定义为:

var CNYexUSD = 0.14;

var CNYexEUR = 0.13;

var CNYexMYR = 0.6;

OK, 定义好了后,发现一个共用点,前缀都是CNYex,这时,做一个循环调用全局变量,后期有添加新的汇兑的币种时,修改的幅度不会很大。问题来了,如何对动态调用这些全局变量呢?代码如下:

console.log(eval("$"+$PreEx+"exCNY"));

console.log(eval("$CNYex"+$SufEx));

扩展知识:

在变量数量未知的时候,动态定义变量

//先引用jquery
<script>
var aArray = new Array("a","b","c");
//作用是动态定义3个变量 test_a,test_b,test_c
for ( var i=0;i<=aArray.size();i++){
eval( " var test_"+ aArray +" =''");
}
//验证是否定义,如未成功会打印 undefined
console.log(test_a);
console.log(test_b);
console.log(test_c);

//===================
//在使用的时候,也可以这样使用
eval( " test_"+ aArray +" ='这里赋值'");
</script>

 

 

js使用eval函数动态定义变量:等您坐沙发呢!

发表评论

您必须 [ 登录 ] 才能发表留言!