Thread each %hash (8 answers)
Opened by Raubtier at 2018-08-01 15:53

Raubtier
 2018-08-02 09:37
#188730 #188730
User since
2012-05-04
1054 Artikel
BenutzerIn

user image
2018-08-02T03:47:12 rosti
Quote
Ich 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 rosti
Was 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
PS: Die Macher von JavaScript ES6 finden each auch gut siehe https://developer.mozilla.org/de/docs/Web/JavaScri...

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:
Code: (dl )
1
2
3
4
5
6
7
8
9
10
11
12
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)

View full thread each %hash