Array, Object
eXeed
- javascript
Hallo an die Scripter,
ich hab da mal ne Frage zu folgenden Codebeispiel:
<html><head><title>Test</title>
~~~~~~javascript
<script type="text/javascript">
function Farbe (R, G, B) {
this.R = R;
this.G = G;
this.B = B;
this.hex = "#";
}
function HintergrundWechseln () {
var Hintergrund = new Farbe("E0", "FF", "E0");
document.bgColor = Hintergrund.hex + Hintergrund.R + Hintergrund.G + Hintergrund.B;
}
</script>
~~~~~~html
</head><body bgcolor="#FFFFFF">
<h1>Das eigene Farb-Objekt mit JavaScript</h1>
<a href="javascript:HintergrundWechseln()">Hintergrundfarbe wechseln</a>
</body>
</html>
~~~frage: Angenommen die Variable Hintergrund wär ein Array und in einem Feld des Arrays wird das Object new Farbe("E0", "FF", "E0"); erzeugt, also z.B. `Hintergrund[0] = new Farbe("E0", "FF", "E0");`{:.language-javascript} `Hintergrund[0] = new Farbe("FF", "E0", "FF");`{:.language-javascript} und so weiter...
Wie kann ich mir nun die einzelnen Felder ausgeben lassen?
alert(Hintergrund[1].R) funktioniert irgendwie nicht.
Gruß Andreas
Moin eXeed,
alert(Hintergrund[1].R) funktioniert irgendwie nicht.
Doch, durchaus. Du musst nur beim initialisieren auch aufpassen, dass du zwei verschiedene Array-Indizes benutzt ;-) Dein Code aus dem Posting:
Hintergrund[0] = new Farbe("E0", "FF", "E0");
Hintergrund[0] = new Farbe("FF", "E0", "FF");
Besser also:
Hintergrund[0] = new Farbe("E0", "FF", "E0");
Hintergrund[1] = new Farbe("FF", "E0", "FF");
Dann klappts auch mit dem alert(Hintergrund[1].R);
LG,
CK
schon mal vielen Dank für deine Korrektur :-)
Mein Problem ist die Zeile 147 im Quellcode folgender Seite:
http://www.canvasdemos.com/userdemos/toxicgonzo/3dobjviewer.html
angenommen ich füge in Zeile 151 ein alert(verticesArray[1].x);
ein, dann müsste doch beim 2ten Durchlauf der Schleife die Koordinate der x-Achse ausgegeben werden, oder?
Hab auch schon alert(this.verticesArray[1].x);
probiert, das geht genau so wenig.
Einfach nur alert(verticesArray[1]);
liefert beim 2ten Durchlauf Object
in der alertbox.
Verstehe das nicht und bin ziemlich verzweifelt :-(
LG Andreas
Hi,
Einfach nur
alert(verticesArray[1]);
liefert beim 2ten DurchlaufObject
in der alertbox.
Und was liefert es beim ersten ...?
MfG ChrisB