Der CHIP-JavaScript-Workshop

HTML bietet nicht die gewünschte Flexibilität, aber Java ist zu kompliziert und umständlich - warum es nicht mal mit JavaScript versuchen? CHIP zeigt, wie. In einem fünfteiligen Workshop werden die Grundlagen gelegt, um angehenden oder fortgeschrittenen Web-Programmierern diese Skriptsprache näherzubringen. Da aber ein Magazin wie CHIP leider nur begrenzten Platz bieten kann, hat die Redaktion die ausführliche Dokumentation der in den Workshopteilen jeweils besprochen Befehle einfach ins Web verlegt.

 

JavaScript ist nicht einfach eine Light-Version von Java. Die Skriptsprache ist vielmehr eine eigenständige Programmiersprache, die Vorteile von HTML und Java in sich vereint: Und los geht's...

Der erste Teil des Workshops in CHIP 3/97 erkärt:

.

JavaScript in eine HTML-Seite einbinden

JavaScript-Befehle lassen sich wie HTML-Befehle einfach mit einem einfachen Texteditor in eine Web-Seite einbauen. Dazu gibt es ein besonderes HTML-Tag, das den Beginn eines JavaScript-Listings anzeigt:
  <script>
Beendet wird es - ganz nach HTML-Art - durch:
  </script>
Beim heutigen Stand der Entwicklung ist auf diese Weise klar gemacht, daß nun ein JavaScript-Listing beginnt. Allerdings hat man schon Vorsorge getroffen, um später auch mal andere Skriptsprachen verwendne zu können. Deswegen ist beim <script>-Tag die verwendete Skriptsprache durch den Parameter "language" noch genau zu bestimmen:
  <script language="JavaScript">
Das Ende eines Skripts kennzeichnet das Tag </script>. Das grobe Gerüst für ein JavaScript-Listing heißt also:
  < script language="JavaScript">
  ... hier steht das eigentliche Programm ...
  </script>
Schön und gut. Nur: Was ist mit Web-Browsern, die kein JavaScript verstehen? Unbekannte HTML-Befehle überspringt ein Web-Browser einfach und stellt sie nicht dar. Unbekannte JavaScript-Befehle zeigt er jedoch als ganz normalen Text an. Damit genau das nicht passiert, empfiehlt Netscape, JavaScript-Befehle zwischen die Kommentar-Tags zu setzen:
  <!--      JavaScript-Listing     -->
Alles, was zwischen diesen Tags steht, überspringen Web-Browser einfach bei der HTML-Interpretation und stellen es nicht dar. Lediglich Javascript-fähige Browser werden aufgurnd der <script>-Anweisung gezwungen, alles folgende auf JavaScript-Befehle hin zu untersuchen, auch Kommentartexte.

Innerhalb Javascripts werden Kommentare übrigens wie bei C mit dem Schrägstrich (Slash) eingeleitet. Ein einzeiliger Kommentar beginnt mit

  // Kommentar
Erstreckt sich ein Kommentar über mehrere Zeilen, so wird er mit /* eingleitet und mit */ beendet:
  /* Kommentar Zeile1
  Kommentar Zeile 2 */
Eine Web-Seite, in der ein JavaScript-Listing eingebaut ist, ist demnach nach folgendem Schema aufgebaut:
  <html>
  <head>
  <title>Hier steht der Seitentitel</title>
  </head>

  <body>
    <h1>&UUML;berschrift</h1>
    ...und normaler HTML-Text.

    <script language="Javascript">
    <!-- Listing vor nicht-JavaScript-fähigen Web-Browsern verstecken

    // ... Hier steht das JavaScript-Programm

    // Ende des Versteckens vor nicht-JavaScript-fähigen Web-Browsern -->
    </script>

</body>
  </html>


.

Text und Bilder auf einer Web-Seite darstellen

JavaScript arbeitet objektorientiert. Die objektorientierte Programmierung hat ihre eigene Sprache: Funktionen heißen hier Methoden In der Regel gehört eine Methode zu einem bestimmten Objekt. Um die Methode aufzurufen, muß sie im allgemeinen zusammen mit ihrem Objekt angegeben werden. Dies läßt sich beispielsweise mit der Methode write() erklären, die Text auf einer Web-Seite darstellt:
  write("Text")
oder
  write('Text')
Der auszugebende Text wird mit Hilfe der Klammern in Anführungszeichen oder Hochkommata als Parameter an die Funktion (Methode) write übergeben. Normalerweise wird man den Text in Anführungszeichen setzen. In Fällen, in denen innerhalb des auszugebenden Textes ebenfalls Anführungszeichen benötigt werden, setzt man den übergebenen Text insgesamt in Hochkommata.

Das Objekt, zu dem write() gehört, ist die Web-Seite. Sie wird durch das Objekt document präsentiert. Um "Hallo Welt" auszugeben, muß es also heißen:

  document.write("Hallo Welt")
Innerhalb des Text-Strings, der der write-Methode übergeben wird, können HTML-Tags stehen. Sie werden wie normale Tags interpretiert. Beispielsweise kann ein Hyperlink eingebaut werden:
  document.write('Ein Klick auf das Wort 
  <a href="http://home.netscape.com">Netscape</a>
  führt zur Homepage des Browser-Herstellers.')
Dadurch ist es möglich, auch Bilder mit Hilfe von write() darzustellen. Man gibt als Text einfach das Bild-Tag auf, das auf eine entsprechende Datei verweist:
  document.write('<img src="Bild.gif">')
Schon an diesem Beispiel ist zu sehen, daß sich HTML und JavaScript nicht gegenseitig ausschließen, sondern vielmehr sehr eng zusammenarbeiten.

Neben write() gibt es noch die Methode writeln(). Sie arbeitet genauso wie write(). Am Schluß des auszugebenden Textes hängt sie lediglich ein Zeichen für eine Zeilenweiterschaltung an, so daß der nächste Text in einer neuen Zeile beginnt.

.

Das aktuelle Datum ermitteln

JavaScript bietet ein Objekt, mit dessen Hilfe sich das Datum des Anwender-PC ermitteln läßt: das Date-Objekt. Es wird aufgerufen:
  Date()
Zusammen mit der write()-Methode läßt es sich direkt auf einer Web-Seite ausgeben:
  document.write(Date())
Am 1. Februar 1997 zeigt diese Zeile das Datum folgendermaßen an:
  Sat Feb 01 14:12:19 (MEZ) Mitteleuropäische Zeit 1997
Sehr schön sieht das nicht aus. Besser wäre die vertraute Schreibweise "1.2.1997", wenn man mal die Uhrzeit nicht berücksichtigt. Dazu kann man beispielsweise auf die einzelnen Eigenschaften des Datums-Objekts, wie Jahr, Monat und Tag, mit bestimmten Methoden zugreifen. Dazu müssen die Werte jedoch in Variablen abgelegt werden, hier die Variablen Datum, Tag, Monat und Jahr. Dann ist ein Datums-Objekt zu erzeugen:
  var Datum, Tag, Monat, Jahr
  Datum = new Date()
Die Variable Datum enthält nun das auf dem PC aktuell gültige Datum inklusive der Uhrzeit, wie im Schema oben angegeben. Mit Hilfe der Methoden getDay(), getMonth() und getYear() lassen sich die entsprechenden Werte einzeln ablegen:
  Tag = Datum.getDay()
  Monat = getMonth()
  Jahr = getYear()
Um aus den so gewonnen Daten den gewünschten Text darzustellen, verkettet man die einzelnen Teile. Das kann man innerhalb der write-Methode tun:
  document.write("Heue ist der" + Tag + "." + Monat + ".19" + Jahr)
Die Methode getYear() ermittelt nur die letzte beiden Ziffern eines Jahres. Deswegen muß die Jahrhundertangabe "19" manuell eingesetzt werden.

[ back to top ]