Permettez-moi d'abord de répondre à votre question :
forEach ne peut pas sortir de la boucle .
Dans la plupart des langages de programmation, foreach n'est pas seulement du sucre syntaxique, il peut fournir de meilleures performances grâce à l'optimisation de la compilation, comme l'omission directe de la vérification des limites. Afin de mieux réaliser ces optimisations, foreach a également donné des restrictions sur la conception. Par exemple, en C#, le processus itératif n'autorise pas les modifications du conteneur lui-même (ajout ou suppression d'éléments), et les interruptions ne sont pas autorisées (nous savons que toutes les instructions conditionnelles réduiront les performances du cache d'instructions et du pipeline).
Angular regroupe une série de méthodes JS natives pour mieux surveiller les modifications du modèle. L'utilisation de ces méthodes JS est fondamentalement la même qu'auparavant. Le forEach que vous avez mentionné en est un, et il y a aussi $timeout et ainsi de suite. Pour plus d'informations sur la méthode de liaison de données d'Angular, vous pouvez consulter ceci : http://harttle.com/2015/06/06/angular-data-binding-and-digest.html
Les forEach et jquery natifs de JS sont chacun comme ça, renvoient true, interrompent l'opération suivante et continuent le passage à l'opération suivante, similaire à continue return false, termine le parcours entier, similaire à break
Je ne suis pas sûr d'Angular. Vous pouvez essayer. Ce type de sucre syntaxique devrait être similaire.
Permettez-moi d'abord de répondre à votre question :
forEach
ne peut pas sortir de la boucle .Dans la plupart des langages de programmation,
foreach
n'est pas seulement du sucre syntaxique, il peut fournir de meilleures performances grâce à l'optimisation de la compilation, comme l'omission directe de la vérification des limites. Afin de mieux réaliser ces optimisations,foreach
a également donné des restrictions sur la conception. Par exemple, en C#, le processus itératif n'autorise pas les modifications du conteneur lui-même (ajout ou suppression d'éléments), et les interruptions ne sont pas autorisées (nous savons que toutes les instructions conditionnelles réduiront les performances du cache d'instructions et du pipeline).Angular regroupe une série de méthodes JS natives pour mieux surveiller les modifications du modèle. L'utilisation de ces méthodes JS est fondamentalement la même qu'auparavant. Le
forEach
que vous avez mentionné en est un, et il y a aussi$timeout
et ainsi de suite. Pour plus d'informations sur la méthode de liaison de données d'Angular, vous pouvez consulter ceci : http://harttle.com/2015/06/06/angular-data-binding-and-digest.htmlhttp://stackoverflow.com/a/13844508/2586541
Les forEach et jquery natifs de JS sont chacun comme ça, renvoient true, interrompent l'opération suivante et continuent le passage à l'opération suivante, similaire à continue return false, termine le parcours entier, similaire à break
Je ne suis pas sûr d'Angular. Vous pouvez essayer. Ce type de sucre syntaxique devrait être similaire.
@harttle Lorsque les données dans la boucle sont trop volumineuses, cela n'affectera pas beaucoup les performances.