0

我正在尝试访问一个简单的嵌套数组,这样做:

var currMenu = 1;
    while ( currMenu < menu.length ) {
        alert(currMenu);
        alert(menu[0][currMenu].text);
        currMenu++;
}

尽管警报抛出了正确的值,但我在 firebug 上收到此错误:TypeError: menu[0][currMenu] is undefined。

怎么了?

谢谢!

编辑:对不起,我很着急,这里有“菜单”结构:

menu[0] = new Array();
menu[0][0] = new Menu(false, '', 15, 50, 20, '','' , 'navlink', 'navlink');
menu[0][1] = new Item('someText', '#', '', 100, 10, 1);

和对象项目:

function Item(text, href, frame, length, spacing, target) {
    this.text = text;
    if (href == '#') {
        this.href = '#';
    } else if (href.indexOf('http') == 0) {
        this.href = href;
    } else this.href = href;
    this.frame = frame;
    this.length = length;
    this.spacing = spacing;
    this.target = target;
    // Reference to the object's style properties (set later).
    this.ref = null;
    this.showLoadingBar = false;
}
4

2 回答 2

3

假设您的菜单与 一致[0][currMenu],您应该像这样访问它:

while ( currMenu < menu[0].length ) {
    alert(currMenu);
    alert(menu[0][currMenu].text);
于 2012-09-20T14:02:35.450 回答
1

您正在查看“菜单”数组的长度,但您正在访问该数组的第零个索引处的数组(可能是也可能不是数组;我无法从代码中看出你的意思)已发布)。

于 2012-09-20T14:02:46.323 回答