Wie werden Javascript-Arrays implementiert?
Namely, wie funktioniert der folgende Code:
var sup = new Array(5);
sup[0] = 'z3ero';
sup[1] = 'o3ne';
sup[4] = 'f3our';
document.write(sup.length + "<br />");
output '5' für die Länge, wenn Sie nur verschiedene Elemente gesetzt haben?
Mein 'Problem' mit diesem Code ist, dass ich nicht verstehe, wielength
ändert sich, ohne ein @ aufzurufgetLength()
oder einsetLength()
Methode. Wenn ich eine der folgenden Aktionen ausführe:
a.length
a['length']
a.length = 4
a['length'] = 5
auf einem Nicht-Array-Objekt verhält es sich wie ein Diktat- / Assoziativ-Array. Wenn ich das für das Array-Objekt mache, hat es eine besondere Bedeutung. Welcher Mechanismus in JavaScript ermöglicht dies? Hat Javascript eine Art Eigenschaftensystem, das @ übersetz
a.length
a['length']
in "get" Methoden und
a.length = 4
a['length'] = 5
in "set" Methoden?