我无法弄清楚为什么会这样。
以下函数始终返回未定义。即使条件满足并且应该返回一个值。
这是 answerCollection 变量的一个实例。
[
Object
Answer: "2"
AnswerText: undefined
OpsID: "24"
PprID: "2"
Question: "How many colors?"
__proto__: Object
]
.
function GetAnswerForProcessQuestion(pprID)
{
$.each(answerCollection, function (index, item)
{
var thisPprID = item["PprID"];
if (thisPprID == pprID)
{
var answer = item["Answer"];
return answer;
}
});
}
但是,如果我在循环内设置一个变量,然后在循环完成执行后返回该变量,则返回正确的值。
function GetAnswerForProcessQuestion(pprID)
{
var answer;
$.each(answerCollection, function (index, item)
{
var thisPprID = item["PprID"];
if (thisPprID == pprID)
{
answer = item["Answer"];
}
});
return answer;
}
关于为什么我不能从循环内部返回值的任何想法?