Maison > Questions et réponses > le corps du texte
大家讲道理2017-05-15 16:56:21
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
PHP中文网2017-05-15 16:56:21
http://stackoverflow.com/a/13844508/2586541
var keepGoing = true;
angular.forEach([0,1,2], function(count){
if(keepGoing) {
if(count == 1){
keepGoing = false;
}
}
});
仅有的幸福2017-05-15 16:56:21
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.
世界只因有你2017-05-15 16:56:21
@harttle Lorsque les données dans la boucle sont trop volumineuses, cela n'affectera pas beaucoup les performances.