Einführung in JavaScript I

Slides:



Advertisements
Ähnliche Präsentationen
ALP II: Objektorientierte Programmierung Sommersemester 2006
Advertisements

der Universität Oldenburg
3. Operatoren und Ausdrücke
Forschungszentrum caesar
Zusammenfassung der Vorwoche
Einführung in JavaScript II
10. Grundlagen imperativer Programmiersprachen
HTML - Einführung Richard Göbel.
FH-Hof Einbindung von JavaScript Anweisungen
Java: Grundlagen der Sprache
Java- Syntax.
Cascading Style Sheets
Robotik mit LEGO Mindstorms
Dynamische Webseiten mit PHP
Einführung XML XML Einführung Andreas Leicht.
Imperative Programmierung
Boolesche Ausdrücke Ist der Rückgabewert eines Ausdrucks vom Typ boolean, so wird dieser als Boolescher Ausdruck bezeichnet (nach dem Mathematiker George.
Java-Kurs - 2. Übung Entwicklungsumgebung Struktur von Programmen
Cascading Style Sheets
Die Skriptsprache Perl (2) Wolfgang Friebel DESY Zeuthen.
Batch-Programmierung Grundlagen
Einführung in Java Alexander Dreßler modifiziert Peter Brichzin und Matthias Spohrer Literatur Installation der Programme.
DVG3 - JavaScript1 Java Script Vortrag: Anke Schulz
Marcus Haller & René Schulze
boolean Datentyp und Operator
Jetzt lernen wir.
Java & Greenfoot Grundlagen.
Grundkonzepte Java - Klassendefinition
SQL PHP und MySQL Referat von Katharina Stracke und Carina Berning
Einführung in die Programmiersprache C 1
Einführung in das Programmieren mit JavaScript Mag. Andreas Starzer weloveIT – EDV Dienstleistungen.
Erste Schritte mit PHP 5 von Max Brandt, 22. September 2006.
Informatik 1 Übung 2.
University of Applied Sciences Übung Objektorientierte Programmierung II Dipl.-Inf. (FH) Markus Vogler.
Einführung in die Programmiersprache Java
HTML (I) am Cern in Genf von Sir Tim Berners-Lee entwickelt
Arbeiten mit Javascript Eine einführende Vortragsübung Referentin: Christin Püschel 29. Juni 2005.
JavaScript.
Einführung in die Programmiersprache C 3.Tag Institut für Mathematische Optimierung - Technische Universität Braunschweig.
Javakurs FSS 2012 Lehrstuhl Stuckenschmidt
Debugging in Lua Universität zu Köln Re-usable Content in 3D und Simulationssystemen Prof. Dr. Manfred Thaller Referent: Artur Wilke.
BIT – Schaßan – WS 02/03 Basisinformationstechnologie HK-Medien Teil 1, 11.Sitzung WS 02/03.
C-Einstieg. Agenda 1Vorbereitung 2Aufbau eines Programms 2.1Header 2.2 Methoden 2.3Main 3Datentypen & Variablen 4Operatoren(+, -, *, /) 5Logik 5.1IF 5.2Switch.
PHP Basic.
Oliver Spritzendorfer Thomas Fekete
Einführung. Steuerelemente Hier erstellt man das Fenster, mit dem der Anwender später arbeiten soll: Werte eingibt Buttons klickt Auswahlen trifft.
Informatik II Grundlagen der Programmierung Programmieren in C Programmstrukturen / Kontrollstrukturen Hochschule Fulda – FB ET Sommersemester 2014.
Dynamische Webseiten-Generierung
Einführung in PHP.
Einführung in PHP 5.
MODULA-2.
Datentypen: integer, char, string, boolean
Agenda für heute, 7. April, 2005 Bedingte ProgrammausführungBedingte Programmausführung Algorithmische Grundlagen Vergleichsoperatoren, Wahrheitswerte.
Programmieren in C Grundlagen C 2
PHP: Operatoren und Kontrollstrukturen
Variablen. var meineZahl:Number = 7; meineZahl 7 Name TypWert = Zuweisung von Variablen.
Html basics. html ist… Auszeichnungssprache (Seiten werden beschrieben) unterscheidet zwischen Inhalt und Anweisung jede!! Webseite besteht nur aus (Quell)-Text.
Hochschule Fulda – FB ET Sommersemester 2014
Programmieren in C Grundlagen C 2
Vortrag: Frames & Javascript.
CSS Cascading Style Sheets
Übung 2 - MdMT Methoden der Medizintechnik Übung zur Vorlesung Folge 2 – Basics Vom ersten Befehl zum Plot.
HTML Hypertext Markup Language
Java Syntaxdiagramme Buchstabe A B Z a z ... Ziffer
(Syntax, Strings/Zahlen, Variablen, Arrays)
Kapitel 5Strukturen Information aus der realen Welt werden in einem informationsverarbeitenden System als Daten abgelegt. Diese stellen also eine (vereinfachte)
Variablen und Datentypen
Seminar Internettechnologie Prof. Dr. Lutz Wegner Julia Mikov WS 06/07
Variablen und Operatoren. C++ Teil 2: Grundstrukturen Variablen Operatoren Kontrollstrukturen Funktionen Header-Dateien Pointer und Referenzen.
Datentypen: integer, char, string, boolean
 Präsentation transkript:

Einführung in JavaScript I Musikwissenschaftliches Institut Hamburg WS 2005/06 Klaus Frieler

JavaScript I Einführung JavaScript wurde 1995 von Netscape als Scriptsprache eingeführt. (ECMA-Script) Zur Zeit gültige Version 1.5 mit DOM 1.0, nicht alle Browser unterstützen immer alles! Hat nichts zu tun mit Java! Ist gedacht als Skriptsprache für Browser zur Unterstützung/als Ergänzung von HTML Aus Sicherheitsgründen eingeschränkte Funktionalität, vor allem keine Dateioperationen

JavaScript I Features Syntaktisch sehr ähnlich zu Java, C, C++ Nicht streng typisiert. Prozedural, schwach objektorientiert. Zahlreiche vordefinierte Funktionalität Interpretersprache: Der Browser ist der Interpreter Lebt vor allem und gerne in HTML-Seiten

JavaScript I HTML Um JavaScript programmieren zu können muss man ein paar Grundlagen von HTML beherrschen HTML: HyperTextMarkupLanguage Keine Programmiersprache sondern Dokumentenauszeichnungssprache mit HyperText („Links“) funktionalität Basis des WWW, erfunden von Tim Berne am CERN, basierend auf SGML (StandardGeneralizedMarkupLanguage)

JavaScript I HTML Heutige Webseiten bestehen aus HTML, dass durch JavaScript und CSS erweitert wird. Grundelemente von HTML sind die Tags, d.h. Schlüsselworte in spitzen Klammern: <table></table> Es gibt Start- und Endtags. Prinzipiell muss jedes Starttag durch ein Endtag begleitet sein, in Praxi nicht der Fall. Formal geht dies auch immer durch <tag/> Jeder Tag kann durch Attribute näher erläutert werden, z.B. <a href="http://www.mu-on.org" target="_blank">Link</a>

JavaScript I HTML – Seitenaufbau Eine HTML Seite hat folgenden Aufbau <html> <head> <!--Hier z.B. JavaScript, CSS-, Metaangaben, Seitentitel--> </head> <body> <!--Hier die tollen Inhalte--> <!– So macht man übrigens Kommentare --> </body> </html>

JavaScript I CSS CSS = Cascading Style Sheets Spache zur Definition von Darstelllungformaten Z.B. Schriftgröße und - farbe, Positionierung, Hintergrundfarben etc. Formate können zentral oder lokal im „style“-Attribut definiert werden. Z.B.: <div style="color:#ffffff; text-align:center;"> Hallo Welt </div>

JavaScript I Einbinden von JavaScript in HTML Kann prinzipiell überall in der Datei zwischen den <html>-Tags stehen Browser bearbeitet JavaScript in der Reihenfolge seines „Erscheinens“ JavaScript muss umgeben sein von <script type="text/javascript"> alert("Dies ist ein Beispiel-Javascript"); </script> Externes JavaScript-Dateien fügt man ein durch <script type="text/javascript" src="myScript.js"></script>

JavaScript I Einbinden von JavaScript - Beispiel <html> <head> <script type="text/javascript"> alert("Dies ist Javascript"); </script> </head> <body> <!– So macht man übrigens dumme Kommentare --> </body> </html>

JavaScript I Javascript – Elemente Variablen (var) Logische und arithmetische Operatoren (+,-,*,/,<,>,==, !, %, ++, --, &&,…) Verzweigungen (if - else) Schleifen (for, while) Unterprogramme, Funktionen (function) Kommentare (//bla, /*blabla*/)

JavaScript I Javascript – Aufbau Ein JavaScript besteht aus einer Folge von Anweisungen die der Browser nacheinander ausführt. Ausnahme: Anweisungen in Funktionen, sie werden erst bei Funktionsaufruf ausgeführt Anweisungen werden durch ein Semikolon beendet/getrennt. Anweisungen können zwischen geschweiften Klammern zu Anweisungsblöcken zusammengefasst werden. (Dann kein Semikolon)

JavaScript I Javascript – Anweisungen Eine Anweisung kann sein: Zuweisung zu einer Variablen var text = "Dies ist eine Anweisung"; var zahl = 5; Aufruf einer Funktion alert(text); Ausführung einer Operation (mit Zuweisung) quadratzahl = zahl * zahl; quadratzahl += 7 * 7;

JavaScript I Javascript – Anweisungen Eine Anweisung kann sein: Eine Verzweigung if(zahl < 5) zahl = 5; else zahl += 1; Eine Schleife (hier mit Anweisungsblock) for(var i = 0; i<=10; +i){ zahl += i; zahl = zahl * zahl; }

JavaScript I Javascript – Variablen Variablen sind Namen für Speicherplätze Lokale und globale Variablen. Eine lokale Variable gilt nur innerhalb von der Funktionen in der sie definiert wird. Globale Variablen gelten überall. Schlüsselwort für lokale Variablen: var Wird das Schüsselwort weggelassen ist die Variable automatisch global. (Achtung Falle.) Deklaration auch mehrere auf einmal und mit Initialisierung: var myVar1 = "moin", my_var2 = 0;

JavaScript I Javascript – Variablennamen Variablennamen können freivergeben werden mit folgenden Einschränkungen: sie dürfen keine Leerzeichen enthalten sie dürfen nur aus Buchstaben und Ziffern und dem Unterstrich "_" bestehen - das erste Zeichen muss ein Buchstabe sein; es sind Groß- und Kleinbuchstaben erlaubt. Groß- und Kleinschreibung werden unterschieden! sie dürfen keine deutschen Umlaute oder scharfes S enthalten sie dürfen nicht mit einem  reservierten Wort identisch sein. Beispiele: Gültig: Hallo, moin, klaus1, klaus_und_klaus Ungültig: 1Hallo, mo?in, klÄuß, klaus und klaus

JavaScript I Namensvergabe Gute Variablennamen sind essentiell für Lesbar- und Verständlichkeit des Codes. Fastregel: Lieber zu ausführlich als zu kurz. Desto wichtiger desto sprechender. Ich bevorzuge folgende Konevention: Wie bei Java. Zusammengesetzte Namen: Erster Buchstabe klein, Anfänge neuer Worte groß: function myFunction(){} Alles in English. Schleifenvariablen i,j,k… Koordinaten x,y,z,w,h …

JavaScript I Operationen und Datentypen JavaScript ist nur lose typisiert, d.h. eine Variable kann jeden beliebigen Wert annehmen: Boolean: true, false Ganz oder Gleitkommazahl : 5, 16384, 5.6, 7e12 Zeichenkette (String): "Code" Funktion Objekt: document, window Undefined JavaScript nimmt Umwandlungen wenn möglich automatisch vor. (via Strings) Allerdings lassen unterschidelich Typen unterschiedliche Operationen zu

JavaScript I Operationen und Datentypen Werte können durch Operationen zu neuen Werte verknüpft werden. Mathematische Operatoren: +,-,*,/,%, ++, --, +=, -= Vergleichsoperatoren: <, >, ==, !=, <=, >= Logische Operatoren: &&, ||, ! Bit-Operatoren: <<, >>, &, |, ^, ~ Stringverknüpfung: +

JavaScript I Operationen und Datentypen Mathematische Operatoren (ergeben Zahlen): Addition/Subtraktion: +,-, Multiplikation, Division, Modulo: *,/,% Es gilt Punktrechnung vor Strichrechnung: a = (1+2*3%4)/2-3 = (1+6%4)/2–3 = (1+2)/2–3 = 3/2-3 = 1.5–2 = -0.5 b = 1 + 2 * (3 % 4)/(2-3) = 1+2*3/(-1)= 1+6/(-1) = 1-6 = -5 In/Dekrement: a++;  a=a+1; a--;  a=a-1; Operator+Zuweisung: a+=b;  a=a+b; a-=b;  a=a-b; a*=b;  a=a*b, a/=b;  a=a/b

JavaScript I Operationen und Datentypen Vergleichsoperatoren ergeben logische (boolsche) Werte == gleich (3==3 ist true) != ungleich (3!=3 ist false) <,<= kleiner, kleiner-gleich (3<4 ist true) >,>= größer, größer-gleich (3>4 ist false)

JavaScript I Operationen und Datentypen Logische Operatoren (ergeben boolsche Werte) !:Not-Operator (!true = false) &&:And-Operator (true && false = false ) ||:Or-Operator (true || false = true)

JavaScript I Operationen und Datentypen Bit-Operatoren (ergeben Zahlen), wirken auf die einzelnen Bits einer Zahl << Links-Shift: Schiebt alle Bits eine Stelle nach Links, entspricht Multiplikation mit 2 >> Links-Shift: Schiebt alle Bits eine Stelle nach Rechts, entspricht Ganzzahl-Division durch 2 & Bit-And: Verknüpft alle Bits stellenweise mit „And“ | Bit-Or: Verknüpft alle Bits stellenweise mit „Or“ ^ Bit-Xor: Verknüpft alle Bits stellenweise mit „Xor“ ~ Bit-Not: Invertiert stellenweise alle Bits

JavaScript I Operationen und Datentypen Stringverknüfung mit +: Hängt zwei Strings aneinander. Z.B. a = "moin"; b = "moin"; c = a + b  c == "moinmoin„ Weitere Stringoperationen mit vordefinierten Funktionen (vgl. JavaScript II-III)

JavaScript I Programmierpraxis Was braucht man zur JavaScript-Programmierung? Einen Browser mit aktiviertem JavaScript, vorzugsweise Firefox. Einen ASCII-Editor um HTML-Seiten mit JavaScript zu erstellen. Vorzugsweise komfortbale Texteditoren wie Ultraedit oder Emacs. Notepad/SimpleText/Kwrite reicht auch aus. Textverarbeitungsprogramme gehen nicht , Word ist GANZ schlecht (hierfür und sowieso). Alternativ spezielle HTML-Editoren (z.B. Homesite). Guter freier HTML-Editor ist NVU, den es für alle Betriebssysteme gibt.

JavaScript I Programmierpraxis HTML-Datei erzeugen (mit Endung .htm oder .html, speichern) und im Browser anschauen (z.B. per Drag-und-Drop reinziehen oder Doppelklick auf die Datei) A-und-O der Programmierung: Testen und Debuggen (entwanzen), d.h. das Ausmerzen von Fehlern. Skriptsprachen prinzipiell schlechter zu Debuggen. 

JavaScript I Programmierpraxis - Debuggen Debuggen von Javascript ist manchmal mühselig, denn viele Browser gehen stillschweigend über Fehler hinweg, es passiert nur nichts… IE zeigt Fehler in einer Box, oft nur mangelnd aussagekräftig. Firefox bietet JavaScript-Konsole (unter Extras) mit brauchbaren Angaben. U.a. Art und Typ des Fehlers und Zeile im Quelltext, wo der Fehler aufgetreten ist. Alternativ kann man Testausgaben einbauen um sich z.B . Variablenzwischenwerte anzuschauen.

JavaScript I Programmierpraxis - Debuggen Testausgaben mit Javascript nicht komfortabel. Eine Möglichkeit: alert(text); bringt eine Box hoch mit dem Wert von „text“ als Inhalt. (Problematisch in Schleifen, aber einfach) Andere Möglichkeit: document.write(text), schreibt aber unkontrolliert im HTML rum. Most fancy: Man definiert ein Bereich für Testausgaben und ändert den Inhalt über die Eigenschaft „innerHTML“ Wir werden die RMA „JS-DIE“ benutzen…

JavaScript I Programmierpraxis – RMA JS-IDE Herunterladen der JS-DIE (JavaScript Integrated Development Environment): http://www.mu-on.org/RMA/js-ide.zip Projektverzeichnis anlegen und JS-IDE dahin entpacken. js-ide.html im Browser öffnen. Beispiele und Aufgaben studieren. Aufgaben1-3.html im Editor öffnen und bearbeiten. Fertige HTML-Dateien an mich schicken…