You need to enable JavaScript to run this app. 如何从jQuery的each循环中退出外层的JS函数?
优惠活动
大模型
产品
解决方案
定价
更多

如何从jQuery的each循环中退出外层的JS函数?

解决方案

你可以通过以下两种常用方式实现需求:

方案1:标记变量法(推荐)

在外层函数声明一个终止标记,跳出$.each循环后判断标记状态,决定是否直接终止外层函数。
代码实现如下:

function readFields(){
    // 声明终止标记,默认值为false
    let needExit = false;
    $('#tbl_units').each(function(key, value){
        if($(value).val() === undefined){
           needExit = true;
           return false; // 跳出当前$.each循环
        }
        // 其余待执行逻辑
    });
    // 循环结束后判断标记,符合条件直接终止外层函数
    if (needExit) return;
    // readFields后续待执行逻辑
}

方案2:异常捕获法

适合嵌套逻辑层级较深的场景,通过主动抛出自定义异常直接跳出所有嵌套层级,捕获后终止外层函数。
代码实现如下:

function readFields(){
    try {
        $('#tbl_units').each(function(key, value){
            if($(value).val() === undefined){
               // 抛出自定义标识的异常,直接跳出循环
               throw new Error('EXIT_READ_FIELDS');
            }
            // 其余待执行逻辑
        });
    } catch (e) {
        // 匹配到自定义异常直接终止外层函数
        if (e.message === 'EXIT_READ_FIELDS') return;
        // 非自定义异常正常抛出,不影响原有错误逻辑
        throw e;
    }
    // readFields后续待执行逻辑
}

说明:优先使用方案1,逻辑更直观,无额外性能开销。方案2仅推荐在多层嵌套逻辑需要强制中断的场景下使用。

内容的提问来源于stack exchange,提问作者Xandar

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.10.11 06:18:04