JavaScript Die ersten Schritte
Transcrição
JavaScript Die ersten Schritte
JavaScript Die ersten Schritte Holger Chudek Perfect Chain ZIEL INHALTE UND ZIELSETZUNG ๏ Grundlagen zu Javascript vermitteln ๏ Anfangshürden abbauen ๏ Spass am Programmieren mit JavaScript vermitteln ๏ Anwendungsfelder in Notes / Domino aufzeigen ๏ Einstieg erleichtern 2 AGENDA 20 min ๏ Grundlagen / Theorie 10 min ๏ Arbeitsumgebung einrichten : Aktueller Firefox 25 min ๏ Praxis – Kleine Aufgaben mit der Firefox-Umgebung 10 min ๏ DDE : Theorie – ClientSide JavaScript (CSJS) – ServerSide JavaScript (SSJS) 25 min ๏ DDE : Praxis 3 GRUNDLAGEN ÜBERSICHT ๏ Allgemeines ๏ Funktionen ๏ Variablen ๏ Typen ๏ Operatoren ๏ Schleifen und Bedingungen 4 GRUNDLAGEN ALLGEMEINES ๏ JavaScript <> Java ๏ Interpretierte Sprache ๏ Objekte ๏ Klassen sind möglich ๏ Bibliotheken sind möglich ๏ „loose typing“ : Lose Typisiert 5 GRUNDLAGEN FUNKTIONEN ๏ function myFunc(){} ๏ function (){} ๏ function myFunc(){return myVal} ๏ Function(){return myVal} 6 GRUNDLAGEN VARIABLEN ๏ Var i = 0; ๏ i=0; (Achtung, Global) ๏ Var i <> I ๏ Globale und lokale Variablen / Gültigkeitsbereiche 7 GRUNDLAGEN DATENTYPEN ๏ string ๏ number ๏ boolean ๏ object ๏ (null) ๏ (undefined) 8 GRUNDLAGEN OPERATOREN ๏ Vergleichsoperatoren – „=“ ist eine Zuweisung !! – „==“ macht eine Typkonvertierung – „===“ macht einen typabhängigen Vergleich – „<“, „<=“, „>“, „>=“, „!=“, „!==“ ๏ Logische Operatoren – „&&“ (und) , „||“ (oder) 9 GRUNDLAGEN SCHLEIFEN ๏ for(Init;Bedingung;Inkrement){} ๏ while(Bedingung){} ๏ Break – Sofortiger Abbruch der Schleife ๏ Continue – Nächster Schleifendurchlauf starten 10 GRUNDLAGEN BEDINGUNGEN (1) ๏ IF - ELSE 11 GRUNDLAGEN BEDINGUNGEN (2) ๏ „?“ ๏ SWITCH 12 GRUNDLAGEN EINGABEN / AUSGABEN ๏ Prompt ๏ Alert ๏ Confirm ๏ console.log 13 ARBEITSUMGEBUNGEN ๏ Firefox (V 35.x) – Enthält JavaScript-Umgebung und Entwickler-Erweiterungen : • Firebug • Web-Developer-Toolkit ๏ Domino Designer für Eclispe(DDE) – Integrierte Umgebung – Ab 8.5.2 14 PRAXIS FIREFOX EINRICHTEN ๏ Einrichten / prüfen – Aktueller Firefox mit JS-Konsole – Web-Developer AddIn – Firebug 15 PRAXIS SPASS MIT JAVASCRIPT ๏ Fliesskommazahlen – 0,1 + 0,2 // (0,1 + 0,2) + 0,3 // 0,1 + (0,2 + 0,3) ๏Impliziete Typumwandlung - 3 + True //„2“ + 3 // 1 + 2 + „3“ // 1 + „2“ + 3 ๏Bitweise arithmetische Operationen - 8 | 1 // (8).toString(2) // (1).toString(2) ๏null und NaN - 0 == null // NaN == NaN // NaN != NaN ๏ truthiness und falsy -function check(x){alert !x} mit „null“, „false“, false, true, 0, undefined ๏Primitive Datentypen / Objektwrapper -„hello“.someProperty = „17“; alert(„hello“.someProperty) 16 PRAXIS KATAS ๏ FizzBuzz ๏ Römische Nummern ๏ Arabische Nummern ๏ Taschenrechner 17 PRAXIS FIZZ BUZZ (SCHWIERIGKEIT : EINFACH) ๏ Geben Sie die Zahlen von 1 bis 100 aus ๏ Jede Zahl, die durch 3 teilbar ist, wird als Fizz ausgegeben ๏ Jede Zahl, die durch 5 teilbar ist, wird als Buzz ausgegeben ๏ Jede Zahl, die durch 15 teilbar ist, wird als FizzBuzz ausgegeben 18 PRAXIS RÖMISCHE NUMMERN (SCHWIERIGKEIT : SEHR SCHWER) ๏ Umsetzung von römischen zu arabischen Nummern ๏ Eingabe einer römischen Nummer ๏ Die korrespondierende arabische Nummer wird ausgegeben 19 PRAXIS ARABISCHE NUMMERN ( SCHWIERIGKEIT : SCHWER) ๏ Umsetzung von Arabischen zu Römischen Nummern ๏ Eingabe einer arabischen Nummer ๏ Ausgegeben wird die korrespondierende römische Nummer 20 PRAXIS TASCHENRECHNER (SCHWIERIGKEIT : EINFACH) ๏ Abbilden eines Taschenrechners : – Eingabe von plus Zahl1 Zahl2 • Gibt die Summe von Zahl 1 und Zahl 2 aus – Eingabe von minus Zahl1 Zahl2) • Gibt die Differenz von Zahl1 und Zahl 2 aus – Eingabe von mal Zahl1 Zahl2 • Gibt das Produkt von Zahl 1 und Zahl 2 aus – Eingabe von durch Zahl1 Zahl2 • Gibt den Quotient von Zahl1 und Zahl 2 aus ๏ Oder – Direkter Aufruf der jeweiligen Funktion • plus(x, y), mal(x,y), minus(x,y), durch(x,y) / geteilt(x,y) 21 Domino Designer THEORIE ๏ Benutzung ๏ Clientseitiges JavaScript ๏ Serverseitiges JavaScript 22 Domino Designer JAVASCRIPT : SERVERSEITIG / CLIENTSEITIG (SSJS / CSJS) 23 Domino Designer JAVASCRIPT IM CLIENT ๏ Kann im Client an vielen Stellen benutzt werden : Masken-Events, Felder-Events 24 Domino Designer JAVASCRIPT : WEBELEMENTE ๏ Alle Elemente, die fürs Web verwendet werden – OnKeyDown, onKeyUp, onMouseOut... 25 Domino Designer PRAXIS 26 Domino Designer SERVERSIDE JAVASCRIPT (SSJS) ๏ Nur für XPages… ๏ Xpages haben Client- und Serverseitiges Javascript 27 Domino Designer KATAS : ÜBERSICHT ๏ Katas Client: – Feldvalidierung – Produkt berechnen und eintragen ๏ Katas Server – Datenbank-Eigenschaften auslesen + anzeigen 28 Domino Designer KATA : FELDVALIDIERUNG (1) ๏ Xpage oder Notes-Maske mit mehreren Feldern ๏ Feldvalidierung Nummer, Länge ๏ Fehler ausgeben wenn Kriterium nicht stimmt 29 Domino Designer KATA : FELDVALIDIERUNG (2) ๏ Xpage oder Notes-Maske mit mehreren Feldern ๏ Werte werden in Feld 1 und Feld 2 eingegeben ๏ Nach Eingabe in Feld 2 oder nach betätigen einer Schaltfläche wird in Feld 3 die Summe / das Produkt angezeigt ๏ Fehler ausgeben wenn Kriterium nicht stimmt 30 Domino Designer KATA : AUSLESEN UND ANZEIGEN DATENBANKNAME ๏ Auslesen des aktuellen Datenbanknamens ๏ Ausgabe in einer Meldungs-Box oder im Dokument 31 Domino Designer EXKURS XPAGES ๏ Globale Objekte im SSJS – Database – Session – currentDocument ๏ Sonderbehandlung – alert, prompt, confirm ๏ Type Ahead für Objekte 32 Anlagen ๏ Hilfreiche Webseiten – http://de.selfhtml.org/javascript/sprache/ – http://content.codersdojo.org/home/ – http://http://www.w3schools.com/js/ ๏ Bücher - Das Beste an JavaScript : ISBN 978-3-89721-876-5 - JavaScript effektiv : ISBN 978-3-86490-127-0 - JavaScript Entwurfsmuster : ISBN 978-3-7723-6488-4 33 Rückfragen / Kontakt VIELEN DANK FÜR DIE AUFMERKSAMKEIT Für Rückfragen : Holger Chudek Perfect Chain [email protected] 34