为什么这个javascript函数返回undefined?

时间:2018-03-08 05:13:58

标签: javascript function

为什么这个函数返回undefined?它在函数内部有一个值,但是一旦我尝试将它分配给一个新变量,它就会以未定义的形式返回。

function getLookupDefault(lookupModel) {
    Object.keys(lookupModel.LookupValues).forEach(function (key) {
        if (lookupModel.LookupValues[key].IsDefault == true) {
            test = lookupModel.LookupValues[key].Name;
            console.log("test: " + test);
            return test;
        }
    })
};

var tst = getLookupDefault(model.LookupValuesDelimiter);
console.log("tst: " + tst);

编辑: 谢谢。来自c#,这对我来说并不明显。我已经编写了代码,它可以正常工作。

function getLookupDefault(lookupModel) {
    for (var key in Object.keys(lookupModel.LookupValues)) {
        if (lookupModel.LookupValues[key].IsDefault == true) {
            test = lookupModel.LookupValues[key].Name;
            console.log("test: " + test);
            return test;
        }
    }
}

1 个答案:

答案 0 :(得分:1)

你在那里的return语句没有向外部函数返回一个值,它只返回一个值给forEach调用的内部函数。