javascript - 为什么这个 javascript 函数返回未定义?

标签 javascript function

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

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;
        }
    }
}

最佳答案

其中的 return 语句不会向外部函数返回值,它只会向 forEach 调用的内部函数返回一个值。

关于javascript - 为什么这个 javascript 函数返回未定义?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/49165873/

相关文章:

c++ - 每次在c++中调用的随机函数

function - Oracle函数和查询返回不同的结果

javascript - 如何在没有事件的情况下调用js函数

javascript - 从 jQuery 函数中检索多个值

php - 如何使用 javascript 从 MySQL 检索数据

javascript - 如何在 native react 中添加动态输入?

javascript - JavaScript 中的函数表达式与声明有什么区别?

javascript - Node 进程对象可用于浏览器客户端代码

javascript - 如何使用三元运算符在 ng 类中处理超过 2 个案例?

python - 过滤异常值 - 如何使基于中值的 Hampel 函数更快?