prototype: letztes Element als EIGENSCHAFT eines Arrays
Math.random()
- javascript
0 Cheatah
Hallo Forum!
Das letzte Element eines beliebigen Arrays (z.B. var mein_Array = [5,6,7]
) lässt sich -kompakt notiert - ermitteln über z.B.
Array.prototype.max = function(){return this[this.length-1]};
.
.
.
alert(mein_Array.max()); //==> 7
Allerdings bin ich der Ansicht, das letzte Element eines Arrays ist keine METHODE, sondern eine EIGENSCHAFT jedes Arrays.
Analog zu
alert(mein_Array.length);
und z.B.
Array.prototype.eigenschaft = "Ich bin ein Array!"
alert(mein_Array.eigenschaft); //==> Ich bin ein Array!
möchte ich also schreiben
alert(mein_Array.max); //ohne ()!!!
Wie lässt sich das realisieren?
Dank an jeden, der mir hier weiterhilft!
MfG, Hermann
Hi,
Wie lässt sich das realisieren?
das Stichwort, nach dem Du im Bereich JavaScript suchst, lautet "Getter".
Cheatah
Hallo,
danke für den Hinweis! Getter/setter scheint die einzige Möglichkeit zu sein, mein bescheidenes Ziel zu erreichen.
Getter, get, __defineGetter__ usw. waren mir bisher nicht über den Weg gelaufen. Zum Glück, muss ich sagen, denn die Beispiele, die man im Netz findet, haben zueinander keine klare Syntax. Der reinste Wilde Westen! Beim Versuch, zumindest eines der Beispiele auf mein Array.max-Problem umzumünzen, bin ich kläglich gescheitert.
Zig zusätzliche, kryptische Script-Zeilen ohne Garantie auf Browser-Kompatibilität, Abwärtskompatibilität, Aufwärtskompatibilität und Kompabilitätüt überhaupt, sind mir - sagen wir mal - 10 eingesparte leere Klammern nun doch nicht wert.
Falls es keine (andere) Möglichkeit gibt, mein Ziel stabil mit ein, zwei klaren kurzen Zeilen zu erreichen, möchte ich das Problem hiermit auf sich beruhen lassen. Trotzdem kann es nicht schaden, die Entwicklung der Getter-Geschichte weiter zu beobachten. Vielleicht kann man es später irgendwo nutzbringend einsetzen ;-)
MfG, Hermann