Marcus Haller & René Schulze

Slides:



Advertisements
Ähnliche Präsentationen
Be.as WEB Technologie
Advertisements

Imperative Programmierung
Einführung in die Programmierung in JAVA AG SS 2003
verweis-sensitive Grafiken
Zusammenfassung der Vorwoche
10. Grundlagen imperativer Programmiersprachen
Seminar Internetdienste Web 2.0 und Rich Internet Applications (RIA) JavaFX Rainer Scholz.
FH-Hof Einbindung von JavaScript Anweisungen
FH-Hof Extensible Markup Language Richard Göbel. FH-Hof Extensible Markup Language XML XML ist universeller Ansatz für die Strukturierung von Zeichenketten.
Indirekte Adressierung
Java: Grundlagen der Sprache
Java: Referenzen und Zeichenketten
1 Vorlesung Informatik 2 Algorithmen und Datenstrukturen (02 – Funktionenklassen) Prof. Dr. Th. Ottmann.
Vorlesung Informatik 2 Algorithmen und Datenstrukturen (02 – Funktionenklassen) Tobias Lauer.
Vorlesung Informatik 2 Algorithmen und Datenstrukturen (02 – Funktionenklassen) Prof. Dr. Th. Ottmann.
Oracle PL/SQL Server Pages (PSP). © Prof. T. Kudraß, HTWK Leipzig Grundidee: PSP – Internet-Seiten mit dynamischer Präsentation von Inhalten durch Einsatz.
Imperative Programmierung
Praxis-Repetitorium JAVA zusätzliche, ergänzende Lehrveranstaltung
PKJ 2005/1 Stefan Dissmann Ausblick Es fehlen noch: Möglichkeiten zum Strukturieren größerer Programme Umgang mit variabler Zahl von Elementen Umgang mit.
PKJ 2005/1 Stefan Dissmann Zusammenfassung Bisher bekannt: Einfache Variable Feld Vereinbarung Zuweisung Block while-Schleife Bedingte Anweisung (if) Typ.
PKJ 2005/1 Stefan Dissmann Zusammenfassung Vorwoche Programm besteht aus mehreren Bestandteilen: Schlüsselwörter Sonderzeichen Bezeichner Kommentare Texte.
Zusammenfassung Vorwoche
DVG Kommentare1 Kommentare. DVG Kommentare 2 Kommentare Es gibt zwei Arten von Kommentaren: einzeilige Kommentare // der Kommentar geht.
DVG Klassen und Objekte
DVG Kommentare 1 Kommentare. 2 Kommentare Es gibt zwei Arten von Kommentaren: einzeilige Kommentare // der Kommentar geht bis zum Ende der Zeile.
Struktogramme IF-ELSE FOR – Schleife
Term {abstrakt} alsText(){abstrakt} berechnen(Belegung){abstrakt} Zahl alsText() berechnen(Belegung) double wert Variable alsText() berechnen(Belegung)
Grundkonzepte Java - Klassendefinition
SQL PHP und MySQL Referat von Katharina Stracke und Carina Berning
Plattformunabhängige Programmiersprache
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.
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
Java und Eclipse.
VIS Makro Ablaufdemonstration VIS Datentechnik GmbH 2002.
EPROG Tutorium Einheit 4 Klassen und Objekte. Wiederholung Schleifen do... while while for break/continue Strings String char Methoden für Strings Arrays.
Typo3 Templates und TypoScript
HTML-Editoren Eine Präsentation von Erik Kulisch.
Einführung in die Programmierung Wintersemester 2008/09 Prof. Dr. Günter Rudolph Lehrstuhl für Algorithm Engineering Fakultät für Informatik TU Dortmund.
Allgemeines zu Java Universelle, objektorientierte Programmiersprache
Abteilung für Telekooperation Übung Softwareentwicklung 1 für Wirtschaftsinformatik Dr. Wieland Schwinger
Grundlagen von Objekt-Pascal Erstellt von J. Rudolf überarbeitet von H.Brehm.
Programmierung 1. Einführung Seite 1
Oliver Spritzendorfer Thomas Fekete
Programmbereich, zu dem eine Deklaration gehört Arten von Gültigkeitsbereichen -Namespace : Deklarationen von Klassen, Interfaces, Structs, Enums, Delegates.
Informatik II Grundlagen der Programmierung Programmieren in C Programmstrukturen / Kontrollstrukturen Hochschule Fulda – FB ET Sommersemester 2014.
EPROG Tutorium #4 Philipp Effenberger
Einführung in PHP.
Einführung in PHP 5.
Programmieren in C Grundlagen C 2
PHP: Operatoren und Kontrollstrukturen
PI Burgenland Java und JavaScript 1. Teil
Wie funktionieren Internetseiten? Html und Co – Teil 2 Heimo Reiter.
HTML, CSS und JavaScript
document document Hier wird das document Objekt definiert. Alle anderen Objekte sind innerhalb des Objektes document angesiedelt. In diesem „rohen“ Dokument.
Java Syntaxdiagramme Buchstabe A B Z a z ... Ziffer
Übersicht Nachtrag zu Ausdrücken
Web und Mobile Apps Programmieren Marco Jakob Kurzvortrag OSS an Schulen
JavaScript Geschichte : Netscape entwickelt LiveScript (Syntax angelehnt an Java) - Umbenennung von Live Script in JavaScript - Mircrosoft.
(Syntax, Strings/Zahlen, Variablen, Arrays)
Einführung in die Programmiersprache C 2
Variablen und Datentypen
Seminar Internettechnologie Prof. Dr. Lutz Wegner Julia Mikov WS 06/07
Die Programmiersprache Ruby Seminarvortrag von Lia Schulze Dephoff 1.
Vortrag Einführung in AspectJ. Gliederung 1 Einleitung 2 Querschnittsfunktionalitäten in AspectJ 2.1 Sprachelemente 3 Beispiel 4 Join Point Modell 5 Weaving.
Hello World! Javakurs 2013 Arne Kappen
 Präsentation transkript:

Marcus Haller & René Schulze JavaScript Marcus Haller & René Schulze

Marcus Haller & René Schulze Übersicht Einordnung Vergleich Java – JavaScript Einbettung in HTML Event-Handler in HTML JavaScript - Sprachelemente Objekt-Referenz Vor- und Nachteile Quellen 3 4 5 6 8 22 26 27 Marcus Haller & René Schulze

Marcus Haller & René Schulze Einordnung clientseitige Programmiersprache gemeinsame Entwicklung von Sun & Netscape Ende 95 – parallel zu Java – unter Codename: LiveScript V1 fest in Netscape Navigator 2 eingebaut – einzig NS konnte JS interpretieren & ausführen  1996 Nav 3 – JS Fassung 1.1 erweitert durch Sun & Netscape - V 1.2 + neue Event-Handler  Detailverbesserungen - V1.3  V 1.4 wurde übersprungen V 1.5 & 2005 in Mozilla erstmals V 1.6 Marcus Haller & René Schulze

Marcus Haller & René Schulze Vergleich JavaScript – Java JavaScript Java Wird direkt in HTML-Code geschrieben Programmierung notwendig z.B. mit grafischem Tool oder JDK (Java Development Kit) Code muss kompiliert werden keine separaten Dateien (*.java und *.class) nötig Läuft immer nur in einem Web-Browser Eigenständige Applikationen möglich Einfache Analyse möglich, da direkt im HTML Code Originaler Java-Sourcecode wird benötigt zur Analyse Einfacher konzipiert z.B. bei Definition von Variablen – hier einfach „var“ unabhängig ob Zahl, Zeichen oder Wahrheitswert Marcus Haller & René Schulze

Marcus Haller & René Schulze Einbettung in HTML  direkt in HTML-Code  da sich Netscape Communicator und MIE allgemein durchgesetzt haben, reicht: <HTML> <HEAD> <TITLE></TITLE></HEAD> <SCRIPT TYPE = “text/javascript”> // Jetzt würde der JavaScript – Code folgen!!! </SCRIPT> <BODY> </BODY></HTML> Marcus Haller & René Schulze

Marcus Haller & René Schulze Event-Handler in HTML  z.B. mit Klick der Maus tritt JavaScript-intern ein Ereignis mit JavaScript versucht man, manche dieser Ereignisse abzufangen und darauf zu reagieren  dafür benötigt man Event-Handler, die als Attribute mancher HTML-Tags in den HTML-Code eingebunden werden  beginnt grundsätzlich mit „on“  Beispiele: onClick  Klicken der Maus onMouseover  Mauszeiger über Objekt onKeyup  Loslassen einer Taste Marcus Haller & René Schulze

Marcus Haller & René Schulze Event-Handler in HTML <HTML><HEAD> <SCRIPT LANUGAGE="JavaScript"> <!--if (document.images)       img = new Image(100, 100)       img.src="bild2.gif"   function swap() { if (document.images)          document.bild.src = img.src   } //--></SCRIPT></HEAD> <BODY><A HREF="#" onMouseover="swap()"> <IMG SRC="bild1.gif" NAME=  "bild"></A> </BODY></HTML> Marcus Haller & René Schulze

JavaScript Sprachelemente Aufbau der Sprache ähnlich anderer Programmiersprachen. Es gibt folgende JavaScript-Sprachelemente: - Anweisungen und Anweisungsblöcke - Kommentare - Bedingte Anweisungen - Variablen - Operatoren - Schleifen und Wiederholungen - Funktionen - Objekte und Methoden Marcus Haller & René Schulze

JavaScript Sprachelemente Notation - Zuweisung: Variable=Ausdruck a = 123 - Anweisung: Anweisung i = i + 1 - Anweisungsblock: {Anweisung; Anweisung;…} { a = 123; i = i + 1; } Marcus Haller & René Schulze

JavaScript Sprachelemente Für selbstvergebene (Variablen)Namen gelten folgende Konventionen: - keine Leerzeichen - max. 32 Zeichen - nur Buchstaben und Ziffern - Sonderzeichen nur _ - Case sensitive (Groß-/Kleinschreibung wird unterschieden) - Kommentare: /* … */ (mehrzeilig) // (einzeilig) Marcus Haller & René Schulze

JavaScript Sprachelemente Variablen - Definition mit: var (nicht zwingend erforderlich) - Definition außerhalb einer Funktion:  globale Variable - Definition innerhalb einer Funktion:  lokale Variable Beispiele: var i,x; Zahl=99; //Konstante Char=“Dies ist ein Text“ //Konstante Marcus Haller & René Schulze

JavaScript Sprachelemente Operatoren - Vergleichsoperatoren: x == y; x != y x > y; x < y; x >= y; x <= y - Arithmetische Operatoren: +, -, *, /, % (modulo) x+=3; x*=4; x/=3; x++; x--; - Logische Operatoren: &&: Bool‘sche UND-Verknüpfung ||: Bool‘sche ODER-Verknüpfung Marcus Haller & René Schulze

JavaScript Sprachelemente Bedingte Anweisungen Zur Abfrage von Bedingungen steht die if-Anweisung, bei Bedarf auch mit else, zur Verfügung - if (Bedingung) {Anweisung(en)} - if (Bedingung) {Anweisung(en)} else {Anweisung(en)} - if (Bedingung) {Anweisung(en)} else if (Bedingung) Anweisung(en)} Marcus Haller & René Schulze

JavaScript Sprachelemente Mehrfach-Bedingungen Eingabe=window.prompt(“Zahl zwischen 1 und 3 eingeben“ Switch(Eingabe) {case“1“: Alert(“Sie haben eine 1 eingegeben“); Break; Case“2“: alert(„“Sie haben eine 2 eingegeben“); Case“3“: alert(“Sie haben eine 3 eingegeben“); break} Marcus Haller & René Schulze

JavaScript Sprachelemente Schleifen - while (Bedingung) {Anweisung} - do {Anweisung} while (Bedingung) - for (Bedingung) {Anweisung} - for (Variable in Objekt) {Anweisung} -Beispiel: while((UserEingabe!=Passwort)&&(Counter<=3)) { Anweisungen } for(i=1; i<=100; i++) Mit break kann man vorzeitig Schleifen verlassen, mit continue sofort den nächsten Schleifendurchlauf einleiten. Marcus Haller & René Schulze

JavaScript Sprachelemente Funktionen - Zweck: Ausgliederung mehrfach benötigter Anweisungen bzw. zur besseren Übersicht - Eine Funktion ist die Zusammenfassung einer Anweisungsfolge unter einem Namen - Sie müssen vor ihrem Aufruf deklariert werden: function Name() { Anweisungen; } - Aufgerufen wird eine Funktion z.B. über Event- Handler wie ONCLICK=“Name()“ Marcus Haller & René Schulze

JavaScript Sprachelemente Funktionen - Wichtige Funktionen alert(message) zeigt den String message in einerm Dialogfenster an confirm(question) stellt die Frage question in einem Dialogfenster mit zwei Knöpfe; Ergebnis: true = OK, false = Cancel Alle Texte in diese Funktionen sind JavaScript-Strings und nicht HTML. Alle drei Aufrufe sind, laut Norm "modal", d.h. weitere Arbeit wird unterbrochen, bis der Benutzer eine Antwort gibt. Bei alert in Netscape auf Unix-Rechner geht alles allerdings weiter! Marcus Haller & René Schulze

Marcus Haller & René Schulze JavaScript Sprachelemente Objekte JavaScript ist eine objektorientierte Sprache ohne Klasse. Neue Objekte werden mit dem new-Operator deklariert, z.B.: obj = new Objekt(); obj.text = “ein Text“; obj.wert = 123; Ein Objekt hat verschiedene Eigenschaften und verschiedene Fähigkeiten, z.B.: Objekt: Auto Eigenschaften: Typ, Farbe Fähigkeiten: Fahren, Bremsen Einige Vordefinierte Objekte: Image, Array, Boolean, Date, Function, String Marcus Haller & René Schulze

Marcus Haller & René Schulze JavaScript Sprachelemente Methoden Methoden sind Funktionen, die Aktionen ausführen, aber im Gegensatz zu alleinstehenden Funktionen an ein bestimmtes Objekt gebunden sind. Methoden bilden die Eigenschaften eines Objektes und werden durch eine .-Verknüpfung aufgerufen: Auto.fahren() Viele vordefinierte JavaScript-Objekte haben Methoden, z.B.: Objekt: history Methode: history.back Marcus Haller & René Schulze

Marcus Haller & René Schulze JavaScript Sprachelemente Objektmodell Eigenschaften („properties“) und Fähigkeiten („methods“) werden Objekten zugeordnet und können ihrerseits wieder als Objekte fungieren, so dass sie eine Hierarchie bilden: object1.object2.objectn.property object1.object2.objectn.method() window.document.write(“Hallo“); Marcus Haller & René Schulze

Marcus Haller & René Schulze JavaScript Sprachelemente Objekthierarchie Klasse Auto Objekt Eigenes_auto Objekt Traum-auto Eigen-schaft Typ Ferrari Eigen-schaft Farbe Gelb Methode fahren() Eigen-schaft Typ Seat Eigen-schaft Farbe Grau Methode fahren() Marcus Haller & René Schulze

Marcus Haller & René Schulze Objekt-Referenz JS basiert auf Objekten wichtige Konzepte der objektorientierten Programmiersprachen fehlen z.B. Vererbung zu jedem Objekt gehören Eigenschaften und Methoden Unterschiedliche Objektkategorien (Vordefinierte -, HTML-, Browser- & Selbstdefinierte Objekte) Marcus Haller & René Schulze

Marcus Haller & René Schulze Objekt-Referenz Math-Objekt Objektkategorie: Vordefinierte Objekte Mathematische Funktionen lassen sich bearbeiten Eigenschaften: E, SQRT2, Pi Methoden: sin(x), exp(x), log(x) Marcus Haller & René Schulze

Marcus Haller & René Schulze Objekt-Referenz Button-Objekt Objektkategorie: HTML-Objekt Schaltfläche in einem Formular in JavaScript abgebildet Objekt ist ein Element des Form-Objekts Eigenschaften: form, name, type Methoden: blur, click, focus Marcus Haller & René Schulze

Marcus Haller & René Schulze Objekt-Referenz Document-Objekt Objektkategorie: Browser-Objekt Erzeugen von HTML-Seiten & Zugriff auf diese Eigenschaften: bgColor, title, cookie Methoden: writeln, open, handleEvent Marcus Haller & René Schulze

Marcus Haller & René Schulze Vor- und Nachteile Vorteile Nachteile Plattformunabhängig Keine Dateien auf Festplatte des Internet-Surfers speicherbar (Ausnahme Cookies) Realisation von Abfragen wie z.B. Eingabe eines Passwortes mit Überprüfung nicht kompatibel mit allen Browsern Kann nicht dauerhaft den Inhalt von HTML-Dateien ändern – nur dynamische Änderungen möglich Keine Anbindung an eine Datenbank möglich + keine Abfrage von Datenbanken Unsicher für Angriffe aus dem Netz Marcus Haller & René Schulze

Marcus Haller & René Schulze Quellen Michael Seeboerger-Weichselbaum: Das Einsteigerseminar JavaScript. Landsberg: Verlag Moderne Industrie Buch AG & Co. KG Martin Baier: JavaScript für Einsteiger. Bonn: Bonner Presse Vertrieb http://www.monecke.de/kurse/javascript/index.phtml http://www.galileocomputing.de/openbook/javascript/ http://www-cgi.uni-regensburg.de/WWW_Server/Dokumentation/ JavaScript/Einfuehrung/ Marcus Haller & René Schulze