Differences
This shows you the differences between two versions of the page.
| Next revision | Previous revision | ||
| lehrkraefte:blc:informatik:ffprg1-2019:js-intro [2019/04/23 07:05] – created Ivo Blöchliger | lehrkraefte:blc:informatik:ffprg1-2019:js-intro [2019/06/18 15:19] (current) – [Schülerprojekte] Ivo Blöchliger | ||
|---|---|---|---|
| Line 1: | Line 1: | ||
| + | ====== Schülerprojekte ====== | ||
| + | * [[https:// | ||
| + | * [[https:// | ||
| + | |||
| + | |||
| + | ====== Einführung in JavaScript ====== | ||
| + | JavaScript ist die Programmiersprache, | ||
| + | |||
| + | JavaScript ist asynchron, d.h. der Code wird nicht einfach linear ausgeführt, | ||
| + | |||
| + | ===== Hello world ===== | ||
| + | Ein Beispiel für einfache Manipulationen finden Sie hier: | ||
| + | |||
| + | https:// | ||
| + | |||
| + | * Betrachten Sie im Browser das helloworld Beispiel. | ||
| + | * Zeigen Sie sich den HTML-Quellcode an. Die zentralen Zeilen sind: | ||
| + | * 7: Einbinden der JavaScript-Datei. | ||
| + | * 12: Aufrufen der init-Funktion, | ||
| + | * 15, | ||
| + | * Zeigen Sie sich dann auch den Quellcode der eingebundenen JavaScript-Datei an. | ||
| + | |||
| + | ==== Nur eine globale (überall sichtbare) Variable ==== | ||
| + | Es ist gute Praxis, globale Variablen so weit wie möglich zu vermeiden. Wir begnügen und darum mit einer Variable ' | ||
| + | |||
| + | Im HTML-Code werden die Funktionen dann immer mit ' | ||
| + | |||
| + | In den Funktionen selbst wird auf Variablen (oder auch Funktionen) mit ' | ||
| + | |||
| + | ====== Aufgaben ====== | ||
| + | ===== Rechentrainer ===== | ||
| + | * Verändern Sie das HelloWorld Beispiel so, dass der Knopf unten mit "Neue Rechnung" | ||
| + | * Drückt man den Knopf, wird anstatt einer Zufallszahl eine einfache Kopfrechnung angezeigt (Summe zweier natürlichen Zahlen zwischen 1 und 10). | ||
| + | * Die Lösung der Rechnung soll oben in der Statuszeile erscheinen und im helloWorld-Objekt selbst unter ' | ||
| + | * Die Lösung soll in einem Eingabefeld eingegeben werden können. | ||
| + | * Das Resultat soll überprüft werden und eine Meldung " | ||
| + | * Wenn das Resultat richtig war, soll automatisch eine neue Rechnung erzeugt werden. Progammieren Sie dazu eine eigene Funktion, die eine neue Rechnung erstellt, anzeigt und die Variable ' | ||
| + | |||
| + | ===== Grundlegende Konstrukte in JavaScript ===== | ||
| + | ==== if ==== | ||
| + | Um die Bedingung sind immer runde Klammern zu setzen. Der Block im if steht zwischen gschweiften Klammern: | ||
| + | |||
| + | if (// | ||
| + | /* Code wenn Bedingung wahr (true) */ | ||
| + | } | ||
| + | |||
| + | | ||
| + | <code javascript> | ||
| + | if (i<2) { | ||
| + | console.log(" | ||
| + | } | ||
| + | |||
| + | if (i%2==0) { | ||
| + | console.log(" | ||
| + | } else { | ||
| + | console.log(" | ||
| + | } | ||
| + | |||
| + | if (i%3==0) { | ||
| + | console.log(" | ||
| + | } else if (i%3==1) { | ||
| + | console.log(" | ||
| + | } else { | ||
| + | console.log(" | ||
| + | } | ||
| + | </ | ||
| + | |||
| + | ==== for ==== | ||
| + | Wiederholung. Ganz allgemein: | ||
| + | |||
| + | for (// | ||
| + | /* Code */ | ||
| + | } | ||
| + | |||
| + | Typischerweise: | ||
| + | <code javascript> | ||
| + | for (var i=0; i<10; i++) { | ||
| + | /* Wird zehn mal druchlaufen, | ||
| + | } | ||
| + | </ | ||
| + | Varianten: | ||
| + | <code javascript> | ||
| + | for (var i=100; i>0; i-=10) { | ||
| + | /* i läuft von 100 bis 10 in Schritten von -10 */ | ||
| + | } | ||
| + | </ | ||
| + | |||
| + | |||
| + | ===== (print)-Debuggen ===== | ||
| + | Für sporadische Ausgaben: | ||
| + | alert(" | ||
| + | | ||
| + | Für häufigere Debug-Ausgaben: | ||
| + | console.log(" | ||
| + | Das ist auch besonders für die Ausgabe von Arrays oder Objekten interessant, | ||
| + | |||