0

为什么以下 Javascript 函数在警报中返回“未定义”。

这是片段

var tests = validateUserSelectedExperType(userSelectedOptioName);
alert(tests);

代码

function validateUserSelectedExperType(inp) {
    $.each(splitter.getFirstPaneContent(), function (index, item) {
        var splitterinner = splitter.getFirstPaneContent()[index];
        var getLabel = splitterinner.getFirstPaneContent()[0];
        if (getLabel.getText() == inp) {
            return true;
        } else {
            return false;
        }
    });
}
4

2 回答 2

2

您从嵌套函数返回,而不是从validateUserSelectedExperType函数返回。设置一个布尔值并更新该值。最后,返回它:

function validateUserSelectedExperType(inp) {
    var flag = false;
    $.each(/* ... */, function (index, item) {
        // ...
        if (getLabel.getText() == inp) {
            flag = true;
            return false;
        }
    });
    return flag;
}
于 2013-04-14T14:54:08.753 回答
0

那是因为您的return陈述在$.each()匿名函数中。从该函数返回false将停止each循环。

你必须为 main 函数返回一些东西(我无法理解你的代码逻辑,所以我无法帮助你)。

于 2013-04-14T14:55:17.773 回答