Okay, also habe ich ein bisschen gesucht, bevor ich gepostet habe ... kein Glück (oder vielleicht bin ich nur dumm).OOO javascript: object selbstreferenz gibt undefined zurück, aber die Konsole zeigt an, dass es existiert
Ich habe dieses Array I "myArray" nennen, und ich schiebe Gegenstände darauf einige Variablen zu füllen:
myArray.push({
time : (y.moveTime - y.startTime),
pos : y.move,
last : myArray[y.recents.length-1].time
});
Mein Problem ist, warum firebug über die "letzte" Variable beschwert sich: "Uncaught Typeerror: Eigenschaft 'Zeit' von undefined kann nicht gelesen werden ". Wenn ich es tue
last : myArray[y.recents.length-1]
alles ist in Ordnung.
Eine Beobachtung, die ich nicht verstehe: Das Array ist leer, wenn ich die Referenz ".time" habe, aber wenn ich es entfernen, ist das Array voll.
Was fehlt mir hier? Ich verstehe es nicht :(
Danke für alle Hinweise.
Ich sollte hinzufügen, dass ich verstehe, dass das allererste Element in diesem Array die "letzte" Variable "undefined" haben wird, da es nichts zurück zu verweisen hat. – tim
Haben Sie überprüft, dass 'myArray [y.recents.length - 1]' existiert und nicht 'undefiniert' ist? – 0x499602D2
@tim Sie haben die Antwort direkt in Ihrem eigenen Kommentar: Für das erste Element 'myArray [y.recents.length-1]' ist nicht definiert, und 'undefined.time' schlägt fehl. – Niko