错误返回后 JavaScript 执行代码

标签 javascript

我正在使用一个函数来检查是否填写了必填字段。我有这两个功能,应该做同样的事情,但第一个没有。 javascript 是否应该在遇到返回后停止执行代码?

这个函数返回真:

//Checks if various stages are ready
function trnReady(area) {
    switch (area)
    {
        case 'settings':
            $('input.required').each(function(){

                if($(this).val() == '')
                {
                    return false;
                }
            }); 
        break;
    }
    return true;
}

虽然这个返回 false:

//Checks if various stages are ready
function trnReady(area) {
    var r = true;
    switch (area)
    {
        case 'settings':
            $('input.required').each(function(){

                if($(this).val() == '')
                {
                    r = false;
                }
            }); 
        break;
    }
    return r;
}

我以为第一个 return 会停止执行代码?我想知道它是否与范围有关?

最佳答案

在第一个代码片段中,return false; 仅停止执行传递给 jquery each 方法的内部函数。它还根据 jquery API 停止 jquery 迭代。但无论如何 trnReady 都会返回 true。

第二个代码片段是正确的,但你可以优化它,将 r = false; 替换为 return r = false; (当你已经知道其中一个字段未填写)

关于错误返回后 JavaScript 执行代码,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10981604/

相关文章:

javascript - 过滤器抛出 - 无法读取 null 的属性 'toLowerCase'

javascript - Jquery 在触摸屏上添加类和数据

javascript - 预加载 JavaScript

javascript - 我可以动态设置 HighChart startOnTick/EndOnTick 吗?

javascript - 绑定(bind)到动态元素

javascript - Joi 验证显示自定义错误消息

javascript - 无法使用 CSS 定位 Google +1 按钮?

javascript - 运行 webGL 的最低系统要求?

javascript - 如何正确地在存储中保存状态并检索它

JavaScript 切换