1 / 56

JAVASCRIPT

JAVASCRIPT. Seminar Internettechnologie Prof.Dr.Lutz Wegner Elena Levtchenko 18. November 2004. JavaScript.

teigra
Download Presentation

JAVASCRIPT

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. JAVASCRIPT Seminar Internettechnologie Prof.Dr.Lutz Wegner Elena Levtchenko 18. November 2004

  2. JavaScript ...JavaScript rankt sich wie eine Kletterpflanze am Baum der HTML-Objekte empor, unfähig, eine andere Richtung einzuschlagen, aber perfekt an der Wirt angepasst. Mit JavaScript baut man keine Gebilde, man dichtet die letzten Fugen ab, die HTMLoffen lassen musste... Stephan Mintert

  3. Übersicht 1/3 1. Einführung Entwicklung des WWW 2. Was ist JavaScript ? Entstehung der JavaScript Client- und serverseitiges JavaScript 3. Was ist JavaScript nicht? Ein Vergleich mit Java 4. Was kann JavaScript? Anwendungsgebiete

  4. Übersicht 2/3 5. Was kann JavaScript nicht? 6. JavaScript –Werkzeug Software und Vorkenntnisse JavaScript –bereiche Allgemeine Regeln Kommentare Variablen und Werte Reservierte Wörter Objekte, Eigenschaften und Methoden Funktionen Operatoren Bedingte Anweisungen Schleifen Event-Handler

  5. Übersicht 3/3 7. Anwendungsbeispiele 8. Literatur und Links.

  6. EinführungEntstehung des WWW • Tim Berners-Lee (1955) • Der "Gutenberg" des Cyberspace • Vernetzter Datenaustausch • Entstehung des World Wide Web (WWW) 1990

  7. Einführung Entstehung des WWW Von Berners-Lee entwickelte Web Technologien: • Client-Server, • Kommunikation durch HTTP(HyperText Transfer Protocol) • URI (Uniform Resource Identifier) • Auszeichnungssprache Hyper Text Markup Language (HTML) • ersten Web-Server => Grafische Web-Browser notwendig

  8. Einführung Erster graphischer Browser Marc Andreessen (1971) • Entwicklung Mosaic Browser • Grafische Benutzeroberfläche • Nur Textauszeichnung • kommerzielles Produkt • Gründung der Firma Netscape • 90% Marktanteil in den Jahren 1995 und 1996 • Aktuelle Version: Netscape 7.2

  9. EinführungMicrosoft holt nach • 1995 Web-Browser Microsoft Internet Explorer • Verbreitung des IE mit eigenem Betriebssystem Windows 95 ff • Aktuelle Version: Internet Explorer 6.0

  10. Einführung HTML-Seiten bis Mitte 90er Jahre • durch Bilder angereicherte Textdokumente • geringe Komplexität • Textformatierung • Textpositionierung • statische Inhalte • CGI-Techniken führen zu Serverüberlastung => Serverentlastung und Dynamisierung der Websites auf der Clientseite notwendig.

  11. Was ist JavaScript ?Entstehung der JavaScript Sept. 1995 LiveScript von Netscape (Brendan Eich) (Netscape Navigator 2.0) Dec. 1995 Javascript 1.0 von Netscape (und Sun) • Syntax angelegt an Java • Skriptsprache • keine vollständige Sprache, integriert in Anwendung • Javascript server-seitig • Javascript browser-seitig • Standardisierung unter dem Namen ECMAScript (1996) • Versionen 1.0 – 1.5 • Aktuelle Version 2.0

  12. Was ist JavaScript?Microsoft holt nach Der MS Internet Explorer interpretiert zwar JavaScript, daneben aber auch die Microsoft-eigene Sprachvariante JScript: • um sich aus den Lizenzvorgaben von Netscape herauszuwinden • um JavaScript selbständig erweitern zu können.

  13. Was ist JavaScript ?JavaScript- und Browserversionen

  14. Was ist JavaScript ?Serverseite Code eingebettet in HTML-Datei auf WebServer<SERVER> ... Javascript-Code ... </SERVER> • Übersetzung in Byte-Code notwendig • Webserver führt Skriptteil aus und generiert Ausgabe • Anwendungen server-seitig • Mögliche Anwendung: Datenbankanbindung Javascript server-seitig konnte sich nicht durchsetzen • Nicht volle Funktionalität, wie z.B. Java (JSP, Servlets), Microsoft Active Server Pages (ASP)

  15. Was ist JavaScript ?Clientseite • Code eingebettet in HTML-Datei • Code in externer Datei • Browser interpretiert Javascript-Code • Viele Javascript Objekte auf Client-Seite <script type="text/javascript"> <!–– ... Javascript-Code ... //--> </script>

  16. Was ist JavaScript nicht? Ein Vergleich mit Java

  17. Was kann JavaScript ?Anwendungsgebiete Allgemeine Objektmanipulation • Zugriff auf jedes HTML-Objekt möglich • Zugriff auf Nicht-HTML-Objekte (Teile des Browsers) • Dokument kann mit Funktion document.write() geschrieben werden Browserspezifische Programmierung • Zugriff auf Browsereigenschaften mit Javascript-Objekt navigator • Abfrage von Browsertyp, -version • Anzeigen browseroptimierter Seiten Sessionmanagement • Speicherung von Sessioninformationen in Cookies (document.cookie) • Abfrage der Cookies • Beispiel: Online-Shop mit Warenkorb

  18. Was kann JavaScript ?Anwendungsgebiete Personalisierung von Seiten • Erstellen und Abfragen von Cookies (document.cookie) • Benutzerverhalten „ausspionieren“ • Individuell angepasste Seiten für den Benutzer • Beispiel: Eingabe Benutzername und Passwort Ereignisbehandlung • Objekt event ermöglicht Zugriff auf Ereignisse • Reagierung auf Benutzeraktionen (z.B. Maus, Tastatur) • Interaktion mit dem Benutzer • Beispiel: Buttons wechseln Farbe

  19. Was kann JavaScript ?Anwendungsgebiete Fenstermanagement • Objekt window repräsentiert Browserfenster • Öffnen, Schließen, Positionieren von Fenstern • Abfrage von verfügbare Bildschirmbreite und –höhe mit Objekt screen • Javascript-Objekt window wird häufig missbraucht Mathematische Berechnungen • Verwendung von Grundrechenarten • Objekt Math stellt weitere Rechenoperationen zur Verfügung • Beispiel: Währung- oder Maßeinheitenumrechner Formularabfrage • Prüfen von Formulareingaben

  20. Was kann JavaScript ?Beispiel: Formularabfrage function checkFormular() { if(document.Formular.User.value == "") { alert("Bitte Ihren Namen eingeben!"); document.Formular.User.focus(); return false; } if(document.Formular.Ort.value == "") { alert("Bitte Ihren Wohnort eingeben!"); document.Formular.Ort.focus(); return false; } if(document.Formular.Mail.value == "") { alert("Bitte Ihre E-Mail-Adresse eingeben!"); document.Formular.Mail.focus(); return false; } if(document.Formular.Mail.value.indexOf('@') == -1) { alert(„Dies ist keine E-Mail-Adresse!"); document.Formular.Mail.focus(); return false; } ...

  21. Beispiel: Formularabfrage Was kann JavaScript ?Beispiel: Formularabfrage ... if(document.Formular.Alter.value == "") { alert("Bitte Ihr Alter eingeben!"); document.Formular.Alter.focus(); return false; } var checkVariable = 1; for(i=0;i<document.Formular.Alter.value.length;++i) if(document.Formular.Alter.value.charAt(i) < "0" || document.Formular.Alter.value.charAt(i) > "9") checkVariable = -1; if(checkVariable == -1) { alert("Altersangabe keine Zahl!"); document.Formular.Alter.focus(); return false; } return true; }

  22. Was kann JavaScript nicht? Wenn Daten auf dem Web-Server verarbeitet werden müssen, stößt JavaScript auf ihre Grenzen und kann nur unterstützend eingesetzt werden. • Foren, • Besucherzähler, • Gästebücher, • Datenbankanbindungen sind mit JavaScript nicht realisierbar. Realisierung durch z.B. ASP, JSP, Servlets, PHP, CGIs.

  23. Was kann JavaScript nicht? • kein Lesen/Schreiben lokaler Dateien (mit Ausnahme von Cosokies) • kein Netzzugriff, außer URL-Download • kein Multithreading

  24. JavaScript – WerkzeugSoftware und Vorkenntnisse • Netscape Navigator ab Version 2.0 • Text- oder HTML-Editor (Eclypse, UltraEdit, HomeSite+, ...) • HTML-Kenntnisse

  25. JavaScript – WerkzeugJavaScript -Programm Kontrollierte Anordnung von Anweisungen: <script language="JavaScript"> <!-- vor alten Browsern verstecken Anweisung 1; Anweisung 2; ...... Anweisung n; // Skript Ende --> </script>

  26. JavaScript – WerkzeugHTML – Noscript Anweisung <body> <noscript> <h4> Ihr Browser unterstützt kein JavaScript oder JavaScript ist deaktiviert. </h4> </noscript> </body>

  27. HTML Aufbau: Grundgerüst <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN" "http://www.w3.org/TR/html4/strict.dtd"> <html> <head> <title> Titel der Webseite </title> </head> <body> ... </body> </html> zwischen <head> und </head> innerhalb von <body>...</body> innerhalb herkömmlicher HTML-Tags in separaten Dateien (.js) JavaScript – WerkzeugJavaScript -Bereiche

  28. JavaScript – WerkzeugAllgemeiner Hinweis JavaScript unterscheidet bei Namen von Variablen, Funktionen, Objekten und reservierten Wörtern zwischen Groß- und Kleinschreibung. Variable aBc ist nicht identisch mit AbC.

  29. JavaScript – WerkzeugKommentare Kommentare erleichtern die Lesbarkeit der Programme Kommentare werden vom JavaScript-Interpreter des WWW-Browsers ignoriert. • Einzeilige Kommentare // das ist ein 1-zeiliger Kommentar • mehrzeilige Kommentare /* dieser Kommentar erstreckt sich über mehrere Zeilen */

  30. JavaScript – WerkzeugVariablen und Werte • Variablen dienen zur Speicherung von Daten • Variablen haben Namen und Wert • Unterscheidung zwischen lokalen und globalen Variablen • Der Wert wird durch Initialisierung oder als Ergebnis einer Operation bestimmt • Variablennamen bestehen aus Buchstaben, Ziffern und dem _ (Unterstrich) • als erstes Zeichen muss ein Buchstabe sein

  31. JavaScript – WerkzeugVariablen und Werte • in Funktionendefinitionen kann man globale oder lokaleVariablen verwenden • Globale Variablen sind außerhalb der Funktionsdefinition bekannt:x=12; • Lokale Variable sind nur innerhalb einer Funktion bekannt:var x=12;

  32. JavaScript – WerkzeugVariablen und Werte Beispiele var i = 1; x = 2.71; y = x–1; Name = „Lena"; name = window.prompt ("Geben Sie bitte Ihren Namen ein!"); Alter = window.prompt ("Geben Sie bitte Ihr Alter ein!");

  33. JavaScript – WerkzeugReservierte Wörter • Schlüsselwörter mit bestimmter Bedeutung • nicht als Variablen- oder Funktionsnamen verwenden

  34. JavaScript – WerkzeugVordefinierte Objekte • sind in JavaScript fest eingebaut (String, Math, Date etc.) • außerdem gibt es Objekte, die innerhalb eines HTML Dokumentes zur Verfügung stehen (window, location, document, history etc.) • haben Eigenschaften und oft objektgebundene Funktionen (Methoden).

  35. JavaScript – WerkzeugVordefinierte Objekte • Alle Objekte eines HTML-Dokuments sind hierarchisch geordnet window location history document images[] links[] forms[] anchors[] ... ... elements[0] elements[1] elements[...]

  36. Beispiel: FarbWahl JavaScript – WerkzeugEigenschaften von Objekten • Eigenschaften von Objekten kann man innerhalb Ihres JavaScript-Codes jederzeit auslesen, und in vielen Fällen kann man die Werte von Eigenschaften auch ändern.

  37. Beispiel: Date JavaScript – Werkzeug Methoden des Objektes Date Verwendung des Date-Objektes: <script type="text/javascript"> <!-- var Jetzt = new Date(); var Tag = Jetzt.getDate(); var Monat = Jetzt.getMonth() + 1; var Jahr = Jetzt.getYear(); var Stunden = Jetzt.getHours(); var Minuten = Jetzt.getMinutes(); var NachVoll = ((Minuten < 10) ? ":0" : ":"); document.write("<h2>Guten Tag!<\/h2><b>Heute ist der " + Tag + "." + Monat + "." + Jahr + ". Es ist jetzt " + Stunden + NachVoll + Minuten + " Uhr<\/b>"); //--> </script>

  38. JavaScript – Werkzeug Eigene Objekte Man kann auch eigene Objekte definieren: • Konstruktor-Funktion für den Objekttyp Buch function Buch(pTitel, pVerlag, pSeiten) { this.Titel = pTitel; this.Verlag = pVerlag; this.Seiten = pSeiten; } • Eine Instanz dieses Objekts definieren dasBuch = new Buch("JavaScript Workshop", "Addison-Wesley", 300);

  39. Beispiel: EigenesObjekt JavaScript – Werkzeug Eigene Objekte <script language="JavaScript" type="text/javascript"> <!-- document.writeln('Das Buch "'+dasBuch.Titel+'"'); document.writeln(' von "'+dasBuch.Verlag+'" hat ca. '); document.writeln(dasBuch.Seiten+' Seiten.'); // --> </script>

  40. JavaScript – Werkzeug Funktionen • In JavaScript gibt es vordefinierte Funktionen und man kann auch eigene Funktionen definieren. • Eine Funktion ist ein Anweisungsblock. • JavaScript-Code, der nicht innerhalb einer Funktion steht, wird beim Einlesen der Datei vom WWW-Browser sofort ausgeführt

  41. JavaScript – Werkzeug Eigene Funktionen Eigene Funktionen kann man • innerhalb eines JavaScript-Bereichs oder • in separaten JavaScript - Dateien definieren Sie bestimmen, • bei welchem Ereignis, mit Hilfe eines Event-Handlers oder • innerhalb einer anderen Funktion die Funktion aufgerufen und ihr Programmcode ausgeführt wird.

  42. JavaScript – Werkzeug Aufbau eigener Funktionen function myName([param_0][,param_1][...,param_N]){ [var variablenliste] anweisungen [return rückgabewert] } __________________________________________________ function checkPasswdEmpty () { var formObj = document.forms[0]; if (formObj.passwd.length == 0) { alert(„Bitte geben Sie ein Passwort ein“); return false; } else { return true; } }

  43. JavaScript – Werkzeug Vordefinierte Funktionen • Das sind Funktionen, die bereits in JavaScript integriert sind. • Solche Funktionen kann man jederzeit aufrufen, ohne sie selbst zu definieren • Vordefinierte JavaScript-Funktionen können • objektabhängig (z.B. Methoden des Objektes Date) • objektunabhängig sein.

  44. Beispiel: eval JavaScript – Werkzeug Vordefinierte objektunabhängige Funktion eval <FORM action=""> <INPUT size="30" name="Eingabe"> <INPUT onclick="alert(eval(this.form.Eingabe.value))" type="button" value="Berechnen"> </FORM>

  45. JavaScript - Werkzeug Rechenoperatoren

  46. JavaScript - Werkzeug Zuweisungsoperatoren

  47. JavaScript - Werkzeug Vergleichsoperatoren

  48. Beispiel: Passwort JavaScript - Werkzeug Bedingte Anweisungen • Wenn Sie feiner differenzieren wollen: • Mit if und else können Sie genau zwei Fälle unterscheiden • die Fallunterscheidung mit „switch“ (seit der Sprachversion 1.2 )

  49. JavaScript - Werkzeug Bedingte Anweisungen <html><head><title>Test</title> <script type="text/javascript"> <!-- function Geheim() { var Passwort = „student"; var Eingabe = window.prompt("Bitte geben Sie das Passwort ein",""); if(Eingabe != Passwort) { alert("Falsches Passwort!"); Geheim(); } else document.location.href="geheim.htm"; } // --> </script> </head> <body onload="Geheim()"> <h1>Hier kommen Sie nur mit Passwort rein ;-)</h1> </body> </html>

  50. JavaScript - WerkzeugSchleifen • Mit Hilfe von while-Schleifen können Sie Programmanweisungen solange wiederholen, wie die Bedingung, die in der Schleife formuliert wird, erfüllt ist • Die Schleifenbedingung einer for-Schleife sieht von vorneherein einen Zähler und eine Abbruchbedingung vor. • bei der do-while-Schleife zuerst der Code ausgeführt und erst danach die Schleifenbedingung überprüft wird. • Kontrolle innerhalb von Schleifen - break und continue

More Related