大家讲道理2017-05-15 16:56:21
先回答你的問題:
forEach
是不能跳出循環的。
在絕大多數程式語言中,foreach
不仅仅是语法糖,通过编译优化它可以提供更好的性能,比如直接略去边界检查。为了能更好地做到这些优化,foreach
在設計上也給出了限制。例如在C#中,迭代過程不允許更改容器本身(增刪元素),不允許break(我們知道,所有的條件語句都會降低指令快取和管線的效能)。
Angular包裝了一系列的原生JS方法,為的是能夠更好地監聽模型變化。這些JS方法的使用方式和原來基本上沒有差別。你說的forEach
就是一个,还有$timeout
就是一個,還有$timeout
等等。關於Angular的資料綁定方式可以看這個:http://harttle.com/2015/06/06/angular-data-binding-and-digest.html
仅有的幸福2017-05-15 16:56:21
Js原生的forEach和jquery的each是這樣的,return true,中斷後面的操作,繼續遍歷到下一個操作,類似continue;return false,結束整個遍歷,類似break
Angular不太清楚,樓主可以試試,這種語法糖應該都差不多的。