首页 > 上网技巧 > 电脑小技巧 > javascript引用动态变量名的变量值

javascript引用动态变量名的变量值

时间:2020-07-06 13:21 作者:QQ地带 我要评论

今天在开发中遇到这样的需求:
 
有三个数组,分别是:
 
var a_Array = new Array("baise");
var b_Array = new Array("heise");
var c_Array = new Array("baise","huise");
现在我们的html页面中有三个按钮,分别是buttonA,buttonB,buttonC,当用户点击了A按钮,就获取对应A数组的值,点击B按钮就获取对应B按钮的值,点击C按钮就获取C按钮的值。
 
当然笨的办法就是通过if判断写死,但是如果我们的每一个页面的按钮不一样,比如可能是c,d,e按钮,那判断就失效了。所以我们就想到,使用动态的变量名。什么意思呢?
 
当用户点击了A按钮,那我们就能获取到A按钮传递的值,比如值是a,那我们就可以根据a的值去拼接一个数组,例如:
 
var a_Array = new Array("baise");
var b_Array = new Array("heise");
var c_Array = new Array("baise","huise");
 
function selectBtn(btnId){
 
    var btnVal = document.getElementById("btnId").value;
 
    //我们模拟当用户点击A按钮就循环A数组,点击B按钮就循环B数组,点击C按钮就循序C数组
 
    //我们首先可能会想到如下写法:
 
   // var selectArray = btnVal+"_Array";
 
   // 那么我们打印selectArray其实并不是我们想要的数组,而是一个内容为"btnVal_Array"的字符串而已
 
   //那么我们如何通过动态拼接的方式来完成我们想要的功能呢,可以通过this关键字
 
   //this[] 引用类型,引用原属性的值
 
   for(var i=0;iselectArray].length;i++){
       var selectId = this[selectArray][i];
 
   }
 
}

标签: JS
顶一下
(0)
0%
踩一下
(0)
0%

Google提供的广告