Java Reference
In-Depth Information
Listing 13.6■ Anzeigen der Schlüssel-Werte-Paare in einem Objekt
for ( var i in obj) {
document.write(i + ": " + obj[i] + "<br/ >");
}
13.3.2■Die Standardklasse Image erweitern
Nun ist es in der OOP nicht unbedingt sinnvoll, dass eine Superklasse (schon gar nicht die
oberste Klasse der gesamten Hierarchie) beliebig erweitert wird. Da wir in unserem Beispiel
ja nur Objekte vom Typ Image erstellen und dort die erweiterten Eigenschaten und Metho-
den verwenden wollen, wäre auch die direkte Erweiterung von Image vorstellbar. Etwa so
(kap13_3.js):
Listing 13.7■ Erweitern von Image
Image.prototype.copyright = "Ralph";
Image.prototype.info = "";
Image.prototype.getDatum= function(dat) {
return "Datum: "+ dat;
};
var b1 = new Image();
b1.src = "images/b1.png";
b1.info = "Gleitschirmliegen in Neu-Anspach";
In neuen Browsern funktioniert diese direkte Erweiterung von Image , aber wie oben er -
wähnt gibt es Probleme in einigen älteren Browsern, die leider immer noch eine relevante
Verbreitung haben.
13.3.3■Date mit Prototyping erweitern
Erweitern wir noch eine andere Standardklasse von JavaScript. In dem folgenden Beispiel
erweitern wir die Klasse Date um eine Methode, die eine lokalisierte Zeitdarstellung als
Rückgabewert liefert, und um eine weitere Methode, die den URL für ein Zufallsbild liefert.
Das ist die Basiswebseite kap13_4.html:
Listing 13.8■ Die Webseite, in der neu hinzugefügte Methoden von Date verwendet werden sollen
...
<script type="text/javascript" src="lib/js/kap13_4.js"></script>
</head>
<body>
<h1>Date durch Prototyping erweitern</h1>
<button id="neu">Neues Bild</button><br/>
<img id="bild"/><div id="info"></div>
</body>
</html>
 
Search WWH ::




Custom Search