1.應用場景
主要用於數組array, 對象{}/map, set進行循環流程處理. |
2.學習/操作
1.while循環
結果:
2.普通
3.
4.
上創建一個迭代循環,調用自定義迭代鉤子,併爲每個不同屬性的值執行語句 ---- MDN
5.forEach(callbackFn, ?thisArg)方法(ES5.1)
如爲數組時
截圖: 爲對象時,出現報錯 補充://
總結: while可用array. iterable可被迭代的對象類型有Array, Map, Set。
更多見: https://developer.mozilla.org/zh-CN/search?q=for
關於內外兩層嵌套循環://結合 continue, break , label的使用 20200506 https://wangdoc.com/javascript/basic/grammar.html
後續補充 ... |
3.問題/補充
1.angular.forEach怎麼跳出循環?//在公司項目維護的過程中遇到 20200429
在絕大多數編程語言中, 爲了能更好地做到這些優化, 例如在C#中,迭代過程不允許更改容器本身(增刪元素),不允許break(我們知道,所有的條件語句都會降低指令緩存和流水線的性能)。 Angular包裝了一系列的原生JS方法,爲的是能夠更好地監聽模型變化。 這些JS方法的使用方式和原來基本沒有區別。
關於Angular的數據綁定方式可以看這個: http://harttle.com/2015/06/06/angular-data-binding-and-digest.html
解決辦法://即定義一個判斷標識
參見: http://stackoverflow.com/a/13844508/2586541
或者 使用Js原生的forEach/jquery. //實踐TBD Js原生的forEach和jquery的each是這樣的, return true, 中斷後面的操作,繼續遍歷到下一個操作,類似continue;//效果如此 return false,結束整個遍歷,類似break //錯誤的說法, return false/true或者直接return; 都是一樣的, 不同的是在函數中,返回的值不同.
實踐得知:
|
4.參考
後續補充
...