MudGuard: document.forms ist undefined

Beitrag lesen

Hi,

Wird bla[1] gleich behandelt wie bla["1"]?

Ja. array[1] ist auch nur der ganz normale Property Accessor. Alle Eigenschaftsnamen sind letztlich Strings, daher wird beim Property Access immer mit Strings gearbeitet. bla[1] wird intern zu aller erst in bla["1"] umgewandelt.
Das gilt immer, auch für Arrays. Es gibt keine echten Arrays in JavaScript. Arrays sind lediglich Objects mit einer besonderen Bedeutung der numerischen Properties (der Link zu ChrisBs Zitat).

Auch Dir danke für die Aufklärung.

var bla=Array(); bla[0]="abc"; bla["0"] = "def"; alert(bla[0]); alert(bla["0"]);

Um dich ganz zu verwirren: bla["foo"] geht auch. Weil der Array auch nur ein Object ist. Natürlich zählt diese Eigenschaft nicht als Array-Eintrag, erhöht length also nicht.

Das wird meine Liebe zu Javascript sicher nicht erhöhen ... ;-)

cu,
Andreas

--
Warum nennt sich Andreas hier MudGuard?
O o ostern ...
Fachfragen per Mail sind frech, werden ignoriert. Das Forum existiert.