• 银保监会:一季度保险偿付能力248% 较上季末下降3个百分点 2019-04-23
  • 国际5G标准正式发布 2019-04-23
  • “两学一做”与党风建设 2019-04-23
  • 端午小长假高速公路整体运行平稳 雨天事故多发 2019-04-23
  • 2000多家国企医院年底前完成剥离 2019-04-21
  • 马龙与张继科完败丢冠!刘国梁真人秀再展雄姿 2019-04-20
  • 贵溪市河潭镇第七届人代会第三次会议胜利召开 2019-04-13
  • 3GPP宣布5G标准完成 5G网络商用进程随之开启 2019-04-12
  • 重庆市公安局交通管理局 2019-04-11
  • 【十九大·理论新视野】动漫:如何改善民生提升百姓“获得感” 2019-04-11
  • ofo给供应商带来的:不仅是订单,还有技术和效率 2019-04-07
  • 乌鲁木齐市惠民举措催热文化消费 2019-04-06
  • 回复@老老保老张工:你跟你老婆害羞要不要也上报呢?也许正好会安排任务哟。 2019-04-06
  • 茶马古道:征服世界屋脊的文化之脉 2019-04-05
  • 池州扶贫干部借“朋友圈”帮贫困户卖竹篮 2019-04-05
  • 双色球最近500期走势图:JavaScript使用类似break机制中断forEach循环的方法

    时间:2018-11-14来源/作者:ourjs 编辑:源码库 文章热度:

    双色球基本走势图表图 www.jpkp.net JavaScript数组对象,有一个forEach方法,可枚举每一个数组元素,但并不支持类似for循环的break语法,中断循环:

    [1,2,3].forEach(function(item) {
      // if(!item) break; 不支持
    });

    解决办法,可抛出一个特殊异常,来中断forEach循环,原理:

    var BreakException = {};
    try {
    [1, 2, 3].forEach(function(el) {
    console.log(el);
    if (el === 2) throw BreakException;
    });
    } catch (e) {
    if (e !== BreakException) throw e;
    }

    也可复写forEach方法:

    // Use a closure to prevent the global namespace from be polluted.
    (function() {
    // Define StopIteration as part of the global scope if it
    // isn't already defined.
    if(typeof StopIteration == "undefined") {
    StopIteration = new Error("StopIteration");
    }
    // The original version of Array.prototype.forEach.
    var oldForEach = Array.prototype.forEach;
    // If forEach actually exists, define forEach so you can
    // break out of it by throwing StopIteration. Allow
    // other errors will be thrown as normal.
    if(oldForEach) {
    Array.prototype.forEach = function() {
    try {
    oldForEach.apply(this, [].slice.call(arguments, 0));
    }
    catch(e) {
    if(e !== StopIteration) {
    throw e;
    }
    }
    };
    }
    })();

    使用

    // Show the contents until you get to "2".
    [0,1,2,3,4].forEach(function(val) {
    if(val == 2)
    throw StopIteration;
    alert(val);
    });

    总结

    以上所述是小编给大家介绍的JavaScript使用类似break机制中断forEach循环的方法,希望对大家有所帮助,如果大家有任何疑问请给我留言,小编会及时回复大家的。在此也非常感谢大家对ASPKU源码库网站的支持!


    注:相关教程知识阅读请移步到JavaScript/Ajax教程频道。
    相关JavaScript/Ajax教程
    热门标签

    JavaScript/Ajax教程Rss订阅JavaScript/Ajax教程搜索

  • 银保监会:一季度保险偿付能力248% 较上季末下降3个百分点 2019-04-23
  • 国际5G标准正式发布 2019-04-23
  • “两学一做”与党风建设 2019-04-23
  • 端午小长假高速公路整体运行平稳 雨天事故多发 2019-04-23
  • 2000多家国企医院年底前完成剥离 2019-04-21
  • 马龙与张继科完败丢冠!刘国梁真人秀再展雄姿 2019-04-20
  • 贵溪市河潭镇第七届人代会第三次会议胜利召开 2019-04-13
  • 3GPP宣布5G标准完成 5G网络商用进程随之开启 2019-04-12
  • 重庆市公安局交通管理局 2019-04-11
  • 【十九大·理论新视野】动漫:如何改善民生提升百姓“获得感” 2019-04-11
  • ofo给供应商带来的:不仅是订单,还有技术和效率 2019-04-07
  • 乌鲁木齐市惠民举措催热文化消费 2019-04-06
  • 回复@老老保老张工:你跟你老婆害羞要不要也上报呢?也许正好会安排任务哟。 2019-04-06
  • 茶马古道:征服世界屋脊的文化之脉 2019-04-05
  • 池州扶贫干部借“朋友圈”帮贫困户卖竹篮 2019-04-05