我很确定eval不会以这种方式工作,但它可以解决这个问题。我正在尝试动态创建全局变量;这是我的代码:
var ti_arr:Array = new Array;
_global.a = new Object;
for (var t=0; t<group_count-1; t++) {
numOfItems = group_nodes[t].childNodes.length;
ti_arr = "tab_info" add t;
// <-- I want to define a global array with the name held in ti_arr here
for (var i=0; i<numOfItems; i++) {
eval(ti_arr)[i].a.name = tempNode.attributes.name; //<-- or give the array global scope here
eval(ti_arr)[i].a.value = tempNode.attributes.value;
}
}
我需要:tab_info1.a.name具有全局范围。
答案 0 :(得分:0)
我已经离开了actionscript循环一段时间了: eval很糟糕。括号很好。
http://www.kirupa.com/forum/showthread.php?t=259717
这里只是简单解释,不知道为什么这么多关于eval()的搜索没有早点解决这个问题。
for (var i=0;i<3;i++) {
ti_arr = "new_array";
_global[ti_arr] = new Array
_global[ti_arr][i] = new Object
_global[ti_arr][i].name = tempnode.name
}