Groups | Search | Server Info | Keyboard shortcuts | Login | Register [http] [https] [nntp] [nntps]
Groups > comp.lang.javascript > #8192
| Message-ID | <2329119.96fDOHNxE3@PointedEars.de> (permalink) |
|---|---|
| From | Thomas 'PointedEars' Lahn <PointedEars@web.de> |
| Organization | PointedEars Software (PES) |
| Date | 2011-11-10 11:32 +0100 |
| Subject | Re: Object-Eigenschaften auslesen |
| Newsgroups | comp.lang.javascript |
| References | <9i0bc3FbnmU1@mid.individual.net> <j9evuv$4c9$1@news.albasani.net> |
| Followup-To | de.comp.lang.javascript |
Followups directed to: de.comp.lang.javascript
Andreas Bergmaier wrote:
> Jörg Weule schrieb:
>> Selfhtml schreibt zur Definition von Objekten als Beispiel:
>>
>> function Farbe (R, G, B) {
>> this.R = R;
>> this.G = G;
>> this.B = B;
>> this.hex = "#";
>> }
>>
>> var hintergrund = new Farbe("E0", "FF", "E0");
>
> Das hier ist ein Objekt, das mithilfe eines Konstruktors erstellt wurde.
> Wenn du hintergrund instanceof Farbe überprüfst, kannst du davon
> ausgehen dass das Objekt die beschriebenen Eigenschaften hat.
>
> Dein JSON-gelesenes Objekt hingegen ist "typlos".
Nein, es handelt sich auch um einen Wert vom Typ `Object' mit .[[Class]] ===
"[object Object]" und um eine `Object'-Instanz (.constructor == Object).
Bei dem oben von `hintergrund' referenzierten Objekt handelt es sich um
einen Wert vom Typ `Object' mit .[[Class]] === "[object Object]", jedoch um
eine `Farbe'-Instanz (.constructor == Farbe).
> Als Literal ließe es sich auch so schreiben:
> var hintergrund = {R:"E0", G:"FF", B:"E0", hex:"#"};
Das ist nämlich äquivalent zu
var hintergrund = new Object();
hintergrund.R = "E0";
hintergrund.G = "FF";
hintergrund.B = "E0";
hintergrund.hex = "#";
> Hier kommst du nur mit der for-in-Schleife weiter.
Was das Aufzählen der eigenen Eigenschaften betrifft, ja.
>> Wie kann ich die Eigenschaften-Namen "R", "G", "B" und "hex" des
>> Objektes Hintergrund ermitteln.
>
> Einfach auslesen? Es gibt verschiedene Schreibweisen, an
> Objekteigenschaften zu kommen. Erstere kann man nur verwenden, wenn die
> Eigenschaftsnamen den Namenskonventionen entsprechen (z.B. keine
> Leerzeichen).
Genauer: Wenn es sich um einen *Bezeichner* (/Identifier/) handelt.
> alert("Der Rotton ist "+hintergrund.R);
> alert("Der Grünton ist "+hintergrund["G"]);
window.alert(…);
oder
console.log(…);
F'up2 de.comp.lang.javascript
PointedEars
--
realism: HTML 4.01 Strict
evangelism: XHTML 1.0 Strict
madness: XHTML 1.1 as application/xhtml+xml
-- Bjoern Hoehrmann
Back to comp.lang.javascript | Previous | Next — Previous in thread | Next in thread | Find similar | Unroll thread
Object-Eigenschaften auslesen Jörg Weule <weule@7b5.de> - 2011-11-09 22:58 +0100
Re: Object-Eigenschaften auslesen Andreas Bergmaier <andber93@web.de> - 2011-11-09 23:48 +0100
Re: Object-Eigenschaften auslesen Jörg Weule <weule@7b5.de> - 2011-11-10 08:59 +0100
Re: Object-Eigenschaften auslesen Thomas 'PointedEars' Lahn <PointedEars@web.de> - 2011-11-10 11:32 +0100
Re: Object-Eigenschaften auslesen Thomas 'PointedEars' Lahn <PointedEars@web.de> - 2011-11-10 13:43 +0100
csiph-web