Rheinwerk Computing < openbook > Rheinwerk Computing - Professionelle Bücher. Auch für Einsteiger.
Professionelle Bücher. Auch für Einsteiger.

 <<   zurück
JavaScript und AJAX von Christian Wenz
Das umfassende Handbuch
Buch: JavaScript und AJAX

JavaScript und AJAX
839 S., mit DVD, 39,90 Euro
Rheinwerk Computing
ISBN 3-89842-859-1
gp Kapitel 13 Objekte und Arrays
  gp 13.1 Array-Erweiterungen
    gp 13.1.1 Einfügen, nicht anfügen
    gp 13.1.2 Anfügen und löschen
    gp 13.1.3 Array-Elemente mischen
    gp 13.1.4 Sortieren
  gp 13.2 Eigene Objekte
    gp 13.2.1 Allgemeines
    gp 13.2.2 Methoden definieren
    gp 13.2.3 Eigene Sortiermethode
    gp 13.2.4 Eigene Sortiermethode, Teil 2
    gp 13.2.5 Zusammenfassung
    gp 13.2.6 Platzsparende Notation
  gp 13.3 JavaScript-Objekte erweitern


Rheinwerk Computing

13.3 JavaScript-Objekte erweitern  toptop

Eine besondere Eigenschaft jeder JavaScript-Klasse ist prototype. Damit können Sie unter anderem das OOP-Konzept der Vererbung implementieren. Als Wert für die Eigenschaft prototype geben Sie Eigenschaften und Methoden an, die alle Objekte der Klasse haben sollen. Angenommen, Sie haben eine allgemeine Klasse Auto implementiert, mit Eigenschaften wie ps und Methoden wie beschleunigen(). Dann erstellen Sie eine Klasse ElchAuto. Die soll alle Eigenschaften und Methoden der Klasse Auto besitzen, allerdings auch eine neue Methode: umkippen(). Das machen Sie dann so:

function Auto() {
  // Auto wird implementiert ...
}

function ElchAuto() {
   this.umkippen = function() {
      // umkippen implementieren
   };
}
ElchAuto.prototype = new Auto();

Diese Form der Erweiterung ist allerdings auch bei bestehenden JavaScript-Objekten möglich! Erinnern Sie sich noch an die Funktion zufall_intervall()aus Kapitel 6? Wenn diese einen Wert zwischen 65 und 90 zurückliefert, liegt ein ASCII-Code eines zufälligen Zeichens zwischen A und Z vor. Es wäre doch schön, wenn das String-Objekt von JavaScript eine solche Funktionalität direkt als Methode anbieten würde (zugegeben, über den praktischen Nutzen kann man diskutieren, aber es geht vor allem ums Prinzip). Mit der prototype-Eigenschaft ist das kein Problem:

function zufall_intervall(a, b) {
  var z = Math.random();
  z *= (b – a + 1);
  z += a;
  return (Math.floor(z));
}

String.prototype.random = function() {
   return String.fromCharCode(zufall_intervall(65, 90));
};

Das String-Objekt besitzt jetzt eine Methode random(), allerdings nur wenn Sie die Klasse instanziieren (oder einen neuen String erstellen). Hier sehen Sie ein komplettes Beispiel, das ein Zufallszeichen zwischen A und Z erzeugt und ausgibt:

<html>
<head>
<title>Events</title>
<script type="text/javascript"><!--
function zufall_intervall(a, b) {
   var z = Math.random();
   z *= (b – a + 1);
   z += a;
   return (Math.floor(z));
}
String.prototype.random = function() {
   return String.fromCharCode(zufall_intervall(65, 90));
};
//--></script>
</head>
<body>
<h1>Event-Listener</h1>
<form>
<input type="button" value="Zufallszeichen"
   onclick="alert((new String()).random());" />
</body>
</html>

Abbildung
Hier klicken, um das Bild zu Vergrößern

Abbildung 13.4     Ein zufälliges Zeichen




1  Denken Sie daran, dass Array-Indizes mit null beginnen.

 <<   zurück
  
  Zum Rheinwerk-Shop
Neuauflage: JavaScript
Neuauflage: JavaScript
bestellen
 Ihre Meinung?
Wie hat Ihnen das Openbook gefallen?
Ihre Meinung

 Buchtipps
Zum Rheinwerk-Shop: jQuery






 jQuery


Zum Rheinwerk-Shop: Einstieg in JavaScript






 Einstieg in JavaScript


Zum Rheinwerk-Shop: Responsive Webdesign






 Responsive Webdesign


Zum Rheinwerk-Shop: Suchmaschinen-Optimierung






 Suchmaschinen-
 Optimierung


 Lieferung
Versandkostenfrei bestellen in Deutschland, Österreich und der Schweiz
InfoInfo




Copyright © Rheinwerk Verlag GmbH 2007
Für Ihren privaten Gebrauch dürfen Sie die Online-Version natürlich ausdrucken. Ansonsten unterliegt das Openbook denselben Bestimmungen, wie die gebundene Ausgabe: Das Werk einschließlich aller seiner Teile ist urheberrechtlich geschützt.
Alle Rechte vorbehalten einschließlich der Vervielfältigung, Übersetzung, Mikroverfilmung sowie Einspeicherung und Verarbeitung in elektronischen Systemen.


Nutzungsbestimmungen | Datenschutz | Impressum

Rheinwerk Verlag, Rheinwerkallee 4, 53227 Bonn, Tel.: 0228.42150.0, Fax 0228.42150.77, service@rheinwerk-verlag.de

Cookie-Einstellungen ändern