首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >与未定义变量相关的错误

与未定义变量相关的错误
EN

Stack Overflow用户
提问于 2012-05-02 20:34:29
回答 1查看 137关注 0票数 1

这段代码有什么问题?我得到了:

TypeError:未定义旧版本

(10超出范围3)

但更老的定义在开头:var older = people[0]

代码语言:javascript
运行
复制
function person(name, age) {
    this.name=name;
    this.age=age
}

function foo() {
    var older10 = function(people) {
        var older = people[0];

        for (var index = 1; index < 10; index++) {
            if (people[index].age > older.age) {
                older = people[index]; // error here
            }
        }
        return older;
    };

    var array = [];
    array[1] = new person("Paul", 23);
    array[2] = new person("Jim", 24);
    array[3] = new person("Sam", 84);
    array[4] = new person("Rob", 54);
    array[8] = new person("Karl", 19);
    array[9] = new person("", 0);

    var older = older10(array);

    if (older.name === "Sam") {
        console.log("ok");
    }
}
EN

Stack Overflow用户

回答已采纳

发布于 2012-05-02 20:36:38

您从未定义过array[0] (在older10(array)函数调用中称为people[0] ),因此将older设置为undefined!

票数 2
EN
查看全部 1 条回答
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/10413854

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档