Mehr Spaß mit JavaScript

Was ist das mit dieser Sprache? Man findet im Web mehrere Stellen, die die Existenz einer solche Schleife in JavaScript postulieren:

for each ( element in array ) {
  ...
}

Die Tatsache, dass das Syntaxhighlighting das each nicht hervorhebt, hätte mich stutzig machen müssen. Später stellte ich fest, dass eine solche Schleife auf einem k-elementigen Array k+1 Mal durchlaufen wird, zuletzt mit element === null. Heute komme ich durch einen Hinweis von Frank darauf, dass doch tatsächlich Opera diese Schleifen gar nicht kennt.

Also bin ich meinen Code durchgegangen und habe alle for-each-Schleifen durch gute alte Zählschleifen ersetzt, kein Problem soweit. Nur, dass nun auf einmal Endlosschleifen auftraten. Ich kann das Problem an meinem Code nicht mehr reproduzieren, aber es lag wohl ein Fehler dieser Art vor. Was ist das für eine Sprache bzw. ein Interpreter, die bzw. der sowas erlaubt?!

Jedenfalls steht jetzt in jeder Schleifen ein var, und das ist auch gut so. Arg.

1 Comments.

  1. Wenn ich es mir recht überlege, könnte das fehlende ‘var’ auch die Probleme mit den for-each-Schleifen begründen. Warum man das ‘var’ überhaupt legal weglassen darf, verstehe ich nicht.