2018-08-02T03:47:12
rostiQuoteIch vermeide es schon seit langer Zeit, each zu benutzen, aus dem genannten Grund.
Es ist ja kein Bug, sondern normales Verhalten
Schon, aber unerwartetes und kontraintuitives Verhalten!
2018-08-02T03:47:12
rostiWas Data::Dumper betrifft: Ich kenne keinen wirklichen Grund, nach einem Aufruf des Dumpers ein Script weiterlaufen zu lassen.
Die eine Funktion manchmal funktioniert und manchmal nicht, schadet eine Debug-Ausgabe bei jedem Aufruf nicht. (zugegeben, bei mir war es "warn Dumper [$einige, \%Variablen];", also warn statt print, aber das ist ja wumpe)
2018-08-02T03:47:12
rosti
Und wo ist da das hier beschriebene Verhalten? Fängt schon mit der Frage an, wie du das js-forEach abbrichst. Nämlich gar nicht. Aber genau darum ging es hier. Außer du wirfst eine Exception. Aber selbst dann: alles verhält sich wie erwartet.
Bleistift:
var a = [1, 2, 3];
try {
a.forEach(function(element) {
console.log(element);
throw "xxx";
});
} catch(err) {}
a.forEach(function(element) {
console.log(element);
});
Das loggt 1,1,2,3 und nicht 1,2,3, weil Iteration eben nicht an das Objekt selbst gebunden ist.
Last edited: 2018-08-02 09:39:57 +0200 (CEST)