2017.08.18

問題

JS中foreach語義中希望使用break打斷循環(huán)失敗。

JS中Foreach為什么不能break?如何實現(xiàn)Foreach中的break語義?

思路

Q1:Foreach中使用break為什么會報錯?

A1:Foreach的語法是

Array.Foreach(function,[thisObj]);

它只是個Array的方法,不是真正的循環(huán)體,所以不能在Function的函數(shù)體內(nèi)使用braak或者return來實現(xiàn)打破循環(huán)。


Q2:JS中怎么使用break?

A2:經(jīng)過測試,老老實實寫for循環(huán)體是可以使用break的,完全沒問題,只是寫起來很麻煩。


Q3:有沒有簡單好寫的語法在js中使用break?

A3:可以使用for-in語句:

for (var index in myArray) { // 不要真的這樣寫

console.log(myArray[index]);

}

但是這樣寫有若干問題:比如index是字符串,而不是數(shù)值;另外,這個循環(huán)會以隨即順序遍歷數(shù)組。

Q4:更好的語法:for-of

A4:這個語法和C++11支持的的for(auto i: Array)語法一樣:

for (var value of myArray) {

console.log(value);

}

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時請結(jié)合常識與多方信息審慎甄別。
平臺聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點,簡書系信息發(fā)布平臺,僅提供信息存儲服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

  • 第十章 信號 10.2 信號概念 產(chǎn)生信號的條件: 用戶按下某些終端鍵時,引發(fā)終端產(chǎn)生的信號 硬件異常產(chǎn)生信號(除...
    cde99bf0b5b1閱讀 556評論 0 0
  • 本文為原創(chuàng),作者為Mozilla Web、Jason Orendorff,譯者為Lenville。未經(jīng)許可,拒絕任...
    尾尾閱讀 5,053評論 1 20
  • FABE:產(chǎn)品-功效 舉例 新鮮生姜洗發(fā)素 F:特點 :修復(fù)干枯毛躁&不油膩 A:優(yōu)點 :無硅油 亮麗發(fā)感 深層修...
    舞悅朵朵閱讀 206評論 0 0
  • 輔車相依,唇亡齒寒。 《左傳》 句意:面頰和牙床骨互相依存,失去了嘴唇,牙齒就會露出來受寒。
    xcy無名閱讀 639評論 0 0

友情鏈接更多精彩內(nèi)容