var gridList = ['gzjh','xgbb','tsld','jckh','shfx','xbsx','gzzj'];
var gridLLen = gridList.length;
for(var i=0;i<gridLLen;i++){
var grid_gzjh = new Ext.grid.GridPanel({
//var 'grid_'+gridList[i] = new Ext.grid.GridPanel({
frame : false,
id : 'grid_'+gridList[i],
name : 'grid_'+gridList[i],
ds : ds_gzjh,
cm : cm_gzjh,
height : 500,
loadMask : {
msg : "数据加载中......"
}
})}
怎么样才能使定义的对象名中带有数组里的值,像注释的那样
var grid_gzjh ,而数组里的gridList[0]='gzjh',
怎么样才能把gridList[0]给用上
var gridDataArray=[];
for(var i=0;i<gridList.length;i++)
{
var keyName="grid_"+gridList[i];
gridDataArray.push('"'+keyName+'"'+":"+'"'+gridList[i]+'"');
}
var gridDataObj="{"+gridDataArray.join(",")+"}";
gridDataObj=eval("("+gridDataObj+")");
for (var pro in gridDataObj){
alert(pro);
}
楼主是这个意思吗?
for (var pro in gridDataObj){
alert(pro+":"+gridDataObj[pro]);
}最后一个循环查看一下生成的对象的内容;
不过你误解我的意思了,
我只是想通过循环生成对象的名字中包含数组中的内容
比如,生成对象:var grid_gzjh var grid_xgbb var grid_tsld,
对应数组里面的:'gzjh','xgbb','tsld'
仅此而已
for(var i in gridList){
window['grid_'+gridList[i]]=gridList[i];
}
alert(grid_gzjh);
不很明白楼主的意思
var arr = ['gzjh','xgbb','tsld'];
var str = '';
for(var i in arr){
str+='var grid_'+arr[i]+' = "' + arr[i] + '";';
}
eval(str);
console.log(grid_gzjh);
console.log(grid_xgbb);
console.log(grid_tsld);
这个意思不?
this.name='person';
}
var person = 'new Person()';
console.log(typeof person);
person = eval(person);
console.log(typeof person);
console.log(person.name);运行一下上面的代码,是不是感觉有点像反射。
var gridList = ['gzjh','xgbb','tsld','jckh','shfx','xbsx','gzzj'];
var oblist=new Array();
var gridLLen = gridList.length;
for(var i=0;i<gridLLen;i++){
oblist[i]='grid_'+gridList[i];
var oblist[i] = new Ext.grid.GridPanel({
frame : false,
id : 'grid_'+gridList[i],
name : 'grid_'+gridList[i],
ds : ds_gzjh,
cm : cm_gzjh,
height : 500,
loadMask : {
msg : "数据加载中......"
}
})}