一、借助对象(容器),批量创建:
//变量名称 var nameList=[ "BottomQuality", "HabitatComplexity", "VelocityOrDepthCombinationCharacteristics", "StabilityOfRiverOrLakeBank", "RiverHannelChange", "WaterQuantityConditions", "VegetationDiversityOrLakesideVegetation", "WaterQualityCondition", "IntensityOfHumanActivities", "LandUse"] // 动态批量创建变量 var objData={} for(let k=0;k< nameList.length;k++){ objData[nameList[k]]=[]; } //批量给变量赋值,dataTemp来自数据库。 for(let i=0;i<dataTemp.length;i++){ for(let j=0;j< nameList.length;j++){ objData[nameList[j]].push(dataTemp[i][nameList[j]]); } }
如果objData 在方法里面,那么就是批量创建局部变量(相对于该方法内的其它对象)。
如果objData 在方法外面,那么就是批量创建全局变量(相对于该方法的作用域)。
如果 删除 var objData={},直接将objData替换为全局变量window,那么就是创建全局变量(相对于window对象的作用域,一般指这个页面)。
在vue项目,删除 var objData={},直接将objData替换为全局变量this,那么就是创建全局变量(相对于该this的作用域,一般指页面或组件)。
转载来源
一、
https://blog.csdn.net/stevenzhong900610/article/details/40857087
借助全局对象window或eval方法
<!DOCTYPE html> <html lang="en"> <head> <meta charset="utf-8"> <title>ECharts</title> <script> var obj = {} var num = 1; function na() { var names = 'name' + (num++); window[names] = '我爱你' + num; } function xxx() { alert( eval("name1")); } </script> </head> <body id="body" οnlοad="na()" > <input type="button" value="button" οnclick="xxx();" /> </body> </html>