今天在开发中遇到这样的需求:
有三个数组,分别是:
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]; }}
本文首发于官方博客,转载请注明出处:
更多java毕业设计请访问:http://www.lunwenhui.com/java/page_7.html