Differences
This shows you the differences between two versions of the page.
| Both sides previous revision Previous revision | |||
| kurse:ef05a-2021:js:jsbasics [2022/02/10 07:40] – [if, else] Ivo Blöchliger | kurse:ef05a-2021:js:jsbasics [2022/02/10 07:40] (current) – [if, else] Ivo Blöchliger | ||
|---|---|---|---|
| Line 1: | Line 1: | ||
| + | ====== Variablen und Stringinterpolation ====== | ||
| + | Variablennamen in JavaScript folgen den gleichen Regeln wie in Python. Vor der ersten Verwendung sollten die Variablen entweder mit '' | ||
| + | Achtung: Funktionen sind auch nur Variablen (wie in Python auch). | ||
| + | |||
| + | <code javascript> | ||
| + | // beispiel ist eine globale Variable | ||
| + | function beispiel() { | ||
| + | const pi=3.14; | ||
| + | let d = 15; | ||
| + | // Backticks, damit ${ausdruck} evaluiert wird | ||
| + | console.log(`Ein Kreis mit Durchmesser ${d} hat den Umfang ${pi*d}`); | ||
| + | d = 7; | ||
| + | console.log(`Ein Kreis mit Durchmesser ${d} hat den Umfang ${pi*d}`); | ||
| + | pi = 2; // Fehler | ||
| + | } | ||
| + | |||
| + | // Das ist ein Kommentar | ||
| + | // Funktion aufrufen | ||
| + | beispiel(); | ||
| + | </ | ||
| + | |||
| + | <WRAP todo> | ||
| + | * Testen und verstehen Sie obiges Beispiel (inklusive einbinden in eine HTML-Datei). | ||
| + | </ | ||
| + | |||
| + | ====== for loop ====== | ||
| + | Der for-loop besteht aus 3 Elementen in einer Klammer und einem zu wiederholenden Codeblock. | ||
| + | * Das erste Element ist die Initialisierung, | ||
| + | * Das zweite Element ist die Bedingung, die **vor** der Wiederholung geprüft wird, z.B. '' | ||
| + | * Das dritte Element ist eine Anweisung, die jeweils **nach** der Wiederholung ausgeführt wird, z.B. '' | ||
| + | <code javascript> | ||
| + | for (let i=0; i<10; i++) { | ||
| + | console.log(`${i} im Quadrat ist ${i*i}`); | ||
| + | } | ||
| + | </ | ||
| + | |||
| + | ====== if, else ====== | ||
| + | * Die Bedingung steht **immer** in Klammern. | ||
| + | * Anstatt '' | ||
| + | * Ein '' | ||
| + | <code javascript> | ||
| + | for (let i=0; i<2; i++) { | ||
| + | let a = (i==1); | ||
| + | for (let j=0; j<2; j++) { | ||
| + | b = (j==1); // b will be true or false | ||
| + | console.log(`a=${a}, | ||
| + | if (a && b) { | ||
| + | console.log(" | ||
| + | } else { | ||
| + | console.log(" | ||
| + | } | ||
| + | if (a || b) { | ||
| + | console.log(" | ||
| + | } | ||
| + | } | ||
| + | } | ||
| + | </ | ||
| + | |||
| + | ====== Funktionen ====== | ||
| + | |||
| + | <code javascript> | ||
| + | function ausgabe(a, | ||
| + | console.log(`a=${a}, | ||
| + | } | ||
| + | |||
| + | // Der erste Parameter f soll eine Funktion sein. | ||
| + | function advanced(f, | ||
| + | console.log(`f(${i})=${f(i)}`); | ||
| + | } | ||
| + | |||
| + | function makeAdder(add) { | ||
| + | // Closure, the variable add is captured | ||
| + | return x => x+add; | ||
| + | } | ||
| + | |||
| + | function demo() { | ||
| + | // Lokale Variable, existiert nur in der Funktion demo | ||
| + | let quadrat = function(x) { | ||
| + | return x*x; | ||
| + | }; // Strichpunkt weil die ganze Anweisung eine Variablendeklaration ist. | ||
| + | console.log(" | ||
| + | ausgabe(32, quadrat(32)); | ||
| + | console.log(" | ||
| + | advanced(quadrat, | ||
| + | console.log(" | ||
| + | advanced(function(x) { return x*x*x;}, 10); // Anonyme Funktion als Parameter | ||
| + | console.log(" | ||
| + | advanced(x => x*x*x, 10); // Alternative Notation für eine Anonyme Funktion | ||
| + | |||
| + | console.log(" | ||
| + | let add5 = makeAdder(5); | ||
| + | console.log(`add5(50)=${add5(50)}`); | ||
| + | } | ||
| + | |||
| + | demo(); | ||
| + | |||
| + | </ | ||