Hallo,
Wieso? Inwiefern?
Hmm... gute Frage. Habe mal sowas gelesen, aber damit ist anscheinend nicht wirklich die Abbruchbedingung gemeint, sondern die Verwendung der for...in Schleife in der Form for(i in Inhalt){alert(Inhalt[i])};
, um beim Beispiel zu bleiben.
Es heißt in der Doku zu prototype 1.6, Kapitel 4:
"Many JavaScript authors have been misled into using the for…in JavaScript construct to loop over array elements. This kind of code just won’t work with Prototype."
Das liegt daran, dass so eine for..in Schleife auch alle Eigenschaften des Arrays durchläuft, z.B. auch die über Array.prototype
dazugefügten.
Zum Beispiel wird mit
var i, a=['a','b','c'];
a.neu='d'; // Neue Eigenschaft des Arrays
for(i in a){alert(a[i])}
auch 'd' ausgegeben, obwohl das in keinem Array-Element vorkommt.
Als Abbruchbedingung ist "i in Inhalt
" aber anscheinend wirklich ok, solange man sich bewusst ist, dass die Schleife halt beim ersten undefinierten Array-Element abbricht, also nicht zwangsläufig alle Elemente durchlaufen werden. Das mag nicht immer erwünscht sein.
Aber das muss ich dir, @molily, ja sicher nicht alles erklären, gelle...
Gruß, Don P