欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

JavaScript使用類似break機(jī)制中斷forEach循環(huán)的方法

 更新時(shí)間:2018年11月13日 16:41:53   作者:ourjs  
這篇文章主要介紹了JavaScript使用類似break機(jī)制中斷forEach循環(huán)的方法,需要的朋友可以參考下

JavaScript數(shù)組對象,有一個(gè)forEach方法,可枚舉每一個(gè)數(shù)組元素,但并不支持類似for循環(huán)的break語法,中斷循環(huán):

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

解決辦法,可拋出一個(gè)特殊異常,來中斷forEach循環(huán),原理:

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

也可復(fù)寫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);
});

總結(jié)

以上所述是小編給大家介紹的JavaScript使用類似break機(jī)制中斷forEach循環(huán)的方法,希望對大家有所幫助,如果大家有任何疑問請給我留言,小編會及時(shí)回復(fù)大家的。在此也非常感謝大家對腳本之家網(wǎng)站的支持!

相關(guān)文章

  • javascript實(shí)現(xiàn)10個(gè)球隨機(jī)運(yùn)動、碰撞實(shí)例詳解

    javascript實(shí)現(xiàn)10個(gè)球隨機(jī)運(yùn)動、碰撞實(shí)例詳解

    這篇文章主要介紹了javascript實(shí)現(xiàn)10個(gè)球隨機(jī)運(yùn)動、碰撞的方法,實(shí)例分析了javascript實(shí)現(xiàn)小球碰撞的原理與實(shí)現(xiàn)技巧,具有一定參考借鑒價(jià)值,需要的朋友可以參考下
    2015-07-07
  • JavaScript自定義localStorage監(jiān)聽事件的解決方法

    JavaScript自定義localStorage監(jiān)聽事件的解決方法

    在項(xiàng)目開發(fā)過程中,發(fā)現(xiàn)有很多時(shí)候進(jìn)行l(wèi)ocalStorage.setItem()操作設(shè)置本地存儲后,頁面必須刷新才能夠獲取到存儲數(shù)據(jù),為了解決這個(gè)問題,就必須要用到自定義localStorage監(jiān)聽事件了,所以本文給大家介紹了自定義localStorage監(jiān)聽事件,需要的朋友可以參考下
    2024-10-10
  • 簡短幾句 通俗解釋javascript的閉包

    簡短幾句 通俗解釋javascript的閉包

    什么是閉包呢?閉包就是函數(shù)實(shí)例執(zhí)行過程中動態(tài)產(chǎn)生一個(gè)沒有被釋放資源的棧區(qū),也是一個(gè)預(yù)執(zhí)行的過程。
    2011-01-01
  • javascript 數(shù)據(jù)存儲的常用函數(shù)總結(jié)

    javascript 數(shù)據(jù)存儲的常用函數(shù)總結(jié)

    這篇文章主要介紹了javascript 數(shù)據(jù)存儲的常用函數(shù)總結(jié)的相關(guān)資料,需要的朋友可以參考下
    2017-06-06
  • javascript動態(tài)分頁的實(shí)現(xiàn)方法實(shí)例

    javascript動態(tài)分頁的實(shí)現(xiàn)方法實(shí)例

    最近的項(xiàng)目需要添加一個(gè)分頁導(dǎo)航的功能,沒有用網(wǎng)上封裝好的文件,通過JS自己簡單實(shí)現(xiàn)了效果,這篇文章主要給大家介紹了關(guān)于javascript動態(tài)分頁的實(shí)現(xiàn)方法,需要的朋友可以參考下
    2022-06-06
  • Js中foreach()用法及使用的坑記錄

    Js中foreach()用法及使用的坑記錄

    這篇文章主要介紹了Js中foreach()用法及使用的坑記錄,具有很好的參考價(jià)值,希望對大家有所幫助,如有錯(cuò)誤或未考慮完全的地方,望不吝賜教
    2023-10-10
  • js密碼強(qiáng)度檢測

    js密碼強(qiáng)度檢測

    這篇文章主要介紹了js密碼強(qiáng)度檢測的相關(guān)資料,并給出了詳細(xì)代碼,需要的朋友可以參考下
    2016-01-01
  • 教你用JS獲取Headers頭部信息

    教你用JS獲取Headers頭部信息

    這篇文章主要給大家介紹了關(guān)于用JS獲取Headers頭部信息的相關(guān)資料,頭部信息是在JavaScript中進(jìn)行網(wǎng)絡(luò)請求時(shí)常用的操作,Headers 頭部信息包含了請求或響應(yīng)的元數(shù)據(jù),需要的朋友可以參考下
    2023-09-09
  • JavaScript操作XML實(shí)例代碼(獲取新聞標(biāo)題并分頁,并分頁)

    JavaScript操作XML實(shí)例代碼(獲取新聞標(biāo)題并分頁,并分頁)

    XML 代碼部分 這是一個(gè)新聞的XML 文件,如果 NBody部分包含 XML 和Html 不可識別部分, 就 包含在DATA 表示附中。
    2010-05-05
  • JS去除iframe滾動條的方法

    JS去除iframe滾動條的方法

    這篇文章主要介紹了JS去除iframe滾動條的方法,涉及javascript操作iframe中屬性的技巧,非常具有實(shí)用價(jià)值,需要的朋友可以參考下
    2015-04-04

最新評論