DE | EN

Einführung in die Nutzung von JavaScript in Web-Seiten

In dieser Lektion lernen Sie die Grundlagen zur Nutzung von JavaScript innerhalb von Webseiten kennen. Ziel ist es, dass Sie in der Lage sind eine erste dynamische Webseite unter Einbezug von JavaScript erstellen können.

Das Zusammenspiel von HTML, CSS und JavaScript

HTML und CSS ermöglichen die Beschreibung statischer Webseiten auf Grundlage von Inhalten und deren Struktur sowie Beschreibungen zu deren Darstellung (siehe Abbildung 1). Die Integration von dynamischen Elementem bedarf der Beschreibung der spezifischen dynamischen Inhalte und deren Verhalten in Form von Skripten in JavaScript. Solche Skripte können dann Im Fall des Eintreffens eines bestimmten Ereignisses (z.B. ein Klick auf einen Inhalt) aktiviert und aufgerufen werden. Die Skripte selbst können dann wiederum Inhalte und Strukturen der Webseite dabei deren Darstellung verändern oder beeinflussen. Dazu HTML-, CSS- und JavaScript-Inhalte miteinander verknüft werden.

HTML, CSS, and JavaScript

JavaScript-Inhalte funktionieren daher zunächst erst einmal nicht ohne eine Web-Seite, in die sie eingebunden sind (Wir werden später kurz auf anderen Verwendungen von JavaScript in anderen Kontexten und unabhängig von Web-Seiten eingehen).

Vollständige, direkte Einbindung von JavaScript-Code

JavaScript-Code kann mit dem speziell für diese Fälle vorgesehenen <script<-Tag in eine HTML-Seite eingebunden werden. Die einfachste Möglichkeit ist dabei zunächst die direkter Einbindung von JavaScript-Anweisungen in die HTML-Datei, wie in dem folgenden Beispiel

HTML

                    <html>
                        <head>
                            <meta charset="UTF-8">
                            <title>JavaScript verwenden</title>
                            <script>
                                alert("JavaScript im Header!");
                            </script>
                        </head>
                        <body>
                            <h1>JavaScript</h1>
                            <script>
                                alert("JavaScript nach der Ueberschrift");
                            </script>
                            <p>Schritt 1: JavaScript-Code einbinden.</p>
                            <script>
                                alert("JavaScript am Dokumentende.");
                            </script>
                        </body>
                    </html>
                

<script<-Tags können im HTML-Code mehrfach und an verschiedenen Stellen eingebunden werden Entsprechend der Verarbeitung von HTML-Dokumenten von oben nach unten kommen dann auch entsprechende JavaScript-Elemente zur Ausführung.

Einbindung von JavaScript-Code über externe JavaScript-Datei

In der Praxis wird JavaScript-Code zu weiten Teilen in eine externe Datei ausgelagert, wie im folgenden Beispiel dargestellt:

HTML

                <!DOCTYPE html>
                <html>
                    <head>
                        <meta charset="UTF-8">
                        <title>JavaScript verwenden</title>
                        <script src="scripts/example2.js"></script>
                    </head>
                    <body>
                        <h1>JavaScript</h1>
                        <p>JavaScript code included from external file</p>
                    </body>
                </html>
            

Zu dieser HTML-datei gehört dann eine gesonderte JavaScript-Datei, in diesem Fall mit dem Namen "example2.js" im Unterordner "scripts":

JavaScript

                alert("JavaScript successfully included");
            

Einfache Anweisungen

Wie auch in vielen anderen Programmiersprachen (z.B. Python, Ruby) stellen Anweisungen ein grundlegendes Element der Sprache dar. Anweisungen führen jeweils eine Aktion aus. Anweisungen werden Zeile für Zeile gemäss der Reihenfolge in der Skript-Datei ausgeführt. Einzelne Anweeisungen werden in einer Anweisungsfolge in JavaScript mit einem Semikolon (";") voneinander getrennt. Das bedeutet, dass eine Anweisung in JavaScript in der Regel mit einem Semikolon endet.

JavaScript unterstützt verschiedene Formen von Anweisungen. Eine einfache Form stellen Zuweisungen dar, bei der einer Variable ein Wert zugewiesen wird. Anders als in Python müssen Variable vor der ersten Verwendung bereits mittels des Schlüsselworts var deklariert werden. Die Deklaration kann aber auch, wie in diesem Beispiel, gemeinsam mit einer Zuweisung in einer Zeile erfolgen:

JavaScript

                var name = "Lord Voldemort";
                alert("Hello " + name + "!");
            

JavaScript verwendet das Prinzip der dynamischen Typisierung. Das bedeutet, der Typ der Variable ergibt sich dynamisch anhand des Typs des zugewiesenen Werts.

Auf dieser Grundlage sind dann auch Berechnungen möglich. Im folgenden Beispiel wird ein Gesamtpreis aus einem Einzelpreis und einer Menge berechnet:

JavaScript

                    var unitPrice = 2.20;
                    var amount = 4;
                    var totalPrice = unit_price * amount;
                    alert("The total price is: " + totalPrice);
                

Verzweigungen

Verzweigungen stellen ein wichtiges Elemwnt dar, um den Programmfluss steuern zu können.Die wichtigste Form der Verzeigung in JavaScript ist die if-Anweisung. Diese hat die folgende grundlegende Struktur:

JavaScript

                    if (condition) {
                        //  block of code to be executed if the condition is true
                    }
                    else {
                        //  block of code to be executed if the condition is false
                    }
                

Das folgende Beispiel verdeutlicht die Verwendung der if-Verzweigung:

JavaScript

                            var number = prompt("Enter a number:");

                            if (number >= 0) {
                                alert("The  umber is positive!");
                            }
                            else {
                                alert ("The number is negative!");
                            }
                        

Bemerkung: In diesem Beispiel wird die Funktion prompt zur interaktiven Eingabe eines Wertes verwendet, um die Verwendung der if-Anweisung besser illustrieren zu können. Wir werden in den folgenden Schritten bessere Möglichkeiten kennenlernen, solche Eimgaben direkt über Formularelemente auf der Web-Seite zu ermöglichen. Die prompt-Funktion verwenden wir daher nur vorläufig an dieser Stelle für solche Zwecke.

Funktionen

Eine JavaScript-Funktion repräsentiert eine Zusammenstellung von Anweisungen, die in ihrer Abfolge eine bestimmte Aufgabe lösen, zu einem Block. Dieser Block kann dann aufgerufen und abgearbeitet werden, wenn die entsprechende Aufgabenstellung ansteht und gelöst werden muss. Funktionen können beliebig oft aufgerufen werden. Funktionen dienen der Strukturierung und Modularisierung von JavaScript-Code. Sie stellen dabei wichtige Elemente in Top-Down-, aber auch im Bottom-Up-Designstrategien von Software dar. Funktionen fördern zudem die Wiederverwendung von JavaScript-Code, sowohl innerhalb eines Projekts, als auch die Übernahme von Code in andere Projekte. Das folgende Beispiel illustriert die Definition einer Funktion:

JavaScript

                function sumOfTwoValues(a, b) {
                    var result = a + b;
	                return result;
                }
            

Die Definition einer Funktion wird in JavaScript immer mit dem Schlüsselwort function eingeleitet. Es folgt der Bezeichner, also der Name der Funktion. Eine Konvention ist es in JavaScript, dass Funktionsnamen mit einem Kleinbuchstaben beginnen und bei zusammengesetzten Begriffen entsprechend der CamelCase-Konventionmit Grossbuchstaben inmitten des Bezeichners gearbeitet wird. Parameter können innerhalb des folgenden Klammerpaars angegeben werden. Die Klammern müssen auch dann aufgeführt werden, wenn die Funktion keine Parameter hat. Die zur Funktion gehörige Anweisungssequenz wird danach innerhalb des folgenden Paars geschweifter Klammern nacheinander aufgeführt. Dieser Bereich wird auch als Funktionsblock bezeichnet. folge

Die Verwendung dieser Funktion wird im folgenden Beispiel illustriert:

JavaScript

                    var x = 2, y = 5;
                    var sum;

                    // add 2 number literals
                    sum = sumOfTwoValues(1, 4.5);
                    alert(sum);

                    // add the values of 2 variables
                    sum = sumOfTwoValues(x, y);
                    alert(sum);
                

Übungsaufgaben zu JavaScript

Aufgabe 1: Mehrwertsteuerberechnung

  1. Erstellen sie eine Webseite mit integriertem JavaScript-Code, mit deren Hilfe die Mehrwertsteuer für einen vom Nutzer eingegebenen Geldbetrag berechnet werden kann. Fragen Sie den Betrag mithilfe der JavaScript-Funktion prompt() ab und geben Sie die errechnete Mehrwertsteuer über alert() aus.
  2. Lagern Sie die Berechnung der Mehrwertsteuer und den alert()-Aufruf in eine eigene Funktion aus.
  3. Lagern Sie den gesamten JavaScript-Code in eine eigene .js-Datei aus und binden Sie die Datei im Header der HTML-Datei ein.


  4. zur Lösung

    nächstes Übungsblatt