kommt bei mir auch am Schluss zusätzlich noch "function (value) ... "
Vermutlich wegen prototypischer Vererbung, d.h. Array.prototype, dem Prototyp für alle Array-Instanzen, wurde im Script eine Funktion hinzugefügt.
Wenn man das macht, kann man (in ECMAScript Ed. 3) nicht angeben, dass die Eigenschaft nicht iterierbar sein soll. Sprich, die »vererbten« Eigenschaften bekommt man bei for-in immer mit hinein. Deshalb sollte man bei der Nutzung von for-in mit hasOwnProperty prüfen:
for (var propName in obj) {
if (obj.hasOwnProperty(propName)) {
alert(propName + " ist nicht vererbt");
}
}
Mathias