use*_*498 4 javascript return function
我有以下js功能,我拉着我的头发试图确定为什么它不会返回'true'.我已经通过在块中添加警报来验证逻辑块被击中,但它似乎跳过包含return语句的行.
function requiresMatchLevel(fields) {
$.each(fields, function (i, field) {
if (field.OperationParamName() == "MatchLevel" && field.Include()) {
return true;
}
});
return false;
};
Run Code Online (Sandbox Code Playgroud)
pim*_*vdb 12
return按功能行事.在传递给$.each函数时返回将不会让你的外部函数返回一些东西.
如果在传递的函数中返回一些内容$.each,jQuery将收到结果.这里唯一有效的值是false,它使jQuery脱离循环.
function requiresMatchLevel(fields) {
var result = false;
$.each(fields, function (i, field) {
if (field.OperationParamName() == "MatchLevel" && field.Include()) {
result = true;
return false; // break out of loop - no need to continue
}
});
return result;
};
Run Code Online (Sandbox Code Playgroud)