検索

ホームページ  >  に質問  >  本文

angular.js - angular.forEach怎么跳出循环

如题,angular.forEach怎么做可以跳出循环?

滿天的星座滿天的星座2744日前937

全員に返信(4)返信します

  • 大家讲道理

    大家讲道理2017-05-15 16:56:21

    まず質問に答えさせてください:

    forEach はループから抜け出すことができません。 forEach是不能跳出循环的。

    在绝大多数编程语言中,foreach不仅仅是语法糖,通过编译优化它可以提供更好的性能,比如直接略去边界检查。为了能更好地做到这些优化,foreach在设计上也给出了制约。例如在C#中,迭代过程不允许更改容器本身(增删元素),不允许break(我们知道,所有的条件语句都会降低指令缓存和流水线的性能)。

    Angular包装了一系列的原生JS方法,为的是能够更好地监听模型变化。这些JS方法的使用方式和原来基本没有区别。你说的forEach就是一个,还有$timeout

    ほとんどのプログラミング言語では、foreach は単なる構文の糖衣ではなく、境界チェックを直接省略するなど、コンパイルの最適化を通じてパフォーマンスを向上させることができます。これらの最適化をより効果的に達成するために、foreach は設計制約も提供します。たとえば、C# では、反復プロセスではコンテナ自体への変更 (要素の追加または削除) が許可されず、ブレークも許可されません (すべての条件付きステートメントが命令キャッシュとパイプラインのパフォーマンスを低下させることがわかっています)。 #🎜🎜# #🎜🎜#Angular は、モデルの変更をより適切に監視するために、一連のネイティブ JS メソッドをラップします。これらの JS メソッドの使用方法は基本的に以前と同じです。あなたが言及した forEach は 1 つですが、$timeout などもあります。 Angular のデータ バインディング方法については、http://harttle.com/2015/06/06/angular-data-binding-and-digest.html#🎜🎜# を参照してください。

    返事
    0
  • PHP中文网

    PHP中文网2017-05-15 16:56:21

    http://stackoverflow.com/a/13844508/2586541


    リーリー

    返事
    0
  • 仅有的幸福

    仅有的幸福2017-05-15 16:56:21

    Js ネイティブの forEach と jquery はそれぞれ次のようになり、true を返し、後続の操作を中断し、継続と同様に次の操作へのトラバースを続行します。 false を返し、break と同様にトラバース全体を終了します
    Angular についてはよくわかりませんが、この種の糖衣構文は似ているはずです。

    返事
    0
  • 世界只因有你

    世界只因有你2017-05-15 16:56:21

    @harttle ループ内のデータが大きすぎる場合、パフォーマンスにはあまり影響しません。

    返事
    0
  • キャンセル返事