javascripting:lektion_01
Unterschiede
Hier werden die Unterschiede zwischen zwei Versionen angezeigt.
Beide Seiten der vorigen RevisionVorhergehende ÜberarbeitungNächste Überarbeitung | Vorhergehende Überarbeitung | ||
javascripting:lektion_01 [12.05.2015 09:05] – pasler | javascripting:lektion_01 [10.06.2015 09:04] (aktuell) – pasler | ||
---|---|---|---|
Zeile 1: | Zeile 1: | ||
+ | ====== Lektion 1: Einführung ====== | ||
+ | |||
+ | > **JavaScript** (kurz **JS**) ist eine Skriptsprache, | ||
+ | |||
+ | > JavaScript is used by 89.1% of all the websites [[http:// | ||
+ | |||
+ | Hinweis: Auch wenn der Name es vermuten lässt, hat JavaScript nichts (mehr) mit der Programmiersprache [[http:// | ||
+ | |||
+ | ===== Verwendung ===== | ||
+ | JavaScript wird vor allem Client-Seitig eingesetzt und ermöglicht eine direkte Manipulation von HTML-Elementen. | ||
+ | |||
+ | So werden einfache Aufgaben, wie [[http:// | ||
+ | |||
+ | Sehr wichtig ist mittlerweile auch die Möglichkeit, | ||
+ | |||
+ | Es existieren sehr viele Erweiterungen / Bibliotheken für JavaScript und bieten so den einfachen Einbau von [[http:// | ||
+ | |||
+ | ===== Funktionsweise ===== | ||
+ | Wie schon erwähnt, wird JavaScript " | ||
+ | |||
+ | Abbildung 1.1 zeigt die verschiedenen Schritte, die notwendig sind, um bspw. die Seite von Google aufzurufen. | ||
+ | {{: | ||
+ | - **Anfrage (Request)** \\ Eintippen in die Adresszeile des Browsers sendet eine Anfrage an den entsprechenden Server. | ||
+ | - **Server** \\ Der Server nimmt die Anfrage entgegen und entscheidet, | ||
+ | - **Antwort (Response)** \\ Dieses HTML-Dokument ist das Ergebnis der Anfrage und wird an den Client geschickt. Die Antwort kann neben HTML-Dateien auch aus anderen Dateitypen wie CSS, Bildern, aber auch JavaScript-Dateien bestehen. | ||
+ | - **Client (Browser)** \\ Je nach Dateityp generiert der Browser aus der Antwort irgendeine Form von Darstellung (Zeigt bspw. die HTML-Seite an). Wird eine JavaScript-Datei geliefert, wird diese sofort im Browser ausgeführt. | ||
+ | |||
+ | **Vorteile: | ||
+ | * Weniger Last auf dem Server, da die Ausführung beim Client läuft | ||
+ | * Es kann auf spezielle Einstellungen (bspw. Fenstergröße) Rücksicht genommen werden | ||
+ | * Der Benutzer bekommt bei Formularen sofort Rückmeldung bei Falscheingaben. | ||
+ | **Nachteile: | ||
+ | * Die Last liegt nun beim Client (Der eigene Rechner hat mehr zu tun) | ||
+ | * Das Laden der Seite dauert unter Umständen sehr lange | ||
+ | * Die Seite verändert sich während dem Ladevorgang | ||
+ | * Die Ausführung kann sich von Browser zu Browser leicht unterscheiden (Probleme vor allem alten Internet Explorer Versionen) | ||
+ | |||
+ | ===== Sicherheit ===== | ||
+ | Über das Internet werden im Browser teilweise sehr wichtige und kritische Daten (Bankdaten, EMail-Login usw.) verschickt. Hätte nun eine aufgerufene Seite Schadcode, so könnte dieser u.U. Daten ausgelesen und versenden. Damit dies nicht (so leicht) passiert, wird JavaScript in einer sogenannten SandBox ausgeführt. Das bedeutet, dass die Ausführung isoliert geschieht und kein Zugriff auf andere Tabs im Browser oder gar das Dateisystem möglich sind. | ||
+ | |||
+ | Trotzdem kann JavaScript nervig oder sogar gefährlich sein. So kann JavaScript ungefragt PopUps anzeigen, direkt auf andere Seiten weiterleiten, | ||
+ | |||
+ | |||
+ | ===== Geschichte ===== | ||
+ | Brendan Eich entwickelte um 1995 die Scriptsprache " | ||
+ | |||
+ | JavaScript entwicklte sich stetig weiter und kann bspw. auf Bilder zugreifen. Microsoft veröffentlichte 1996 den ersten JavaScript-fähigen Internet Explorer. | ||
+ | |||
+ | Die European Computer Manufacturers Association veröffentlichte in Zusammenarbeit mit Netscape einen ersten Standard ECMA-262 (ECMA-Script). Diese wurde knapp ein Jahr später zur ISO-Norm ISO/IEC 16262:1998 Information technology – ECMAScript language specification. | ||
+ | |||
+ | Seitdem kommen immer wieder neue Versionen auf den Markt... | ||
+ | |||
+ | ===== Beispiel: Hello World ===== | ||
+ | |||
+ | JavaScript Code kann direkt in eine HTML-Seite im < | ||
+ | <code html> | ||
+ | < | ||
+ | < | ||
+ | < | ||
+ | ... dein Code hier ... | ||
+ | </ | ||
+ | </ | ||
+ | < | ||
+ | ... weitere HTML-Elemente ... | ||
+ | </ | ||
+ | </ | ||
+ | </ | ||
+ | |||
+ | |||
+ | Dieser Code-Schnipsel erzeugt eine Meldung im Browserfenster: | ||
+ | <code javascript> | ||
+ | < | ||
+ | alert(" | ||
+ | </ | ||
+ | </ | ||
+ | |||
+ | Dieser Code erzeugt eine Log-Meldung und ist nur in der JavaScript-Konsole des Browsers zu sehen: | ||
+ | <code javascript> | ||
+ | < | ||
+ | console.log(" | ||
+ | </ | ||
+ | </ | ||
+ | |||
+ | ===== Die JavaScript Konsole ===== | ||
+ | In jedem modernen Browser (FireFox, Chrome) oder auch dem " | ||
+ | |||
+ | In den Entwickler-Tools ist immer auch eine JavaScript Konsole enthalten. | ||
+ | Dort werden Debug-Meldungen (Fehler, Warnungen oder Infos) bei der JavaScript-Ausführung der Seite angezeigt. | ||
+ | |||
+ | Weiterhin gibt es eine Live-Konsole, | ||
+ | |||
+ | {{: | ||
+ | **JavaScript Konsole im FireFox:** Die Abbildung zeigt einen typischen Tippfehler (" | ||
+ | |||
+ | Der Code kann entweder mit einem Klick auf den Auführen-Button oder der Tastenkombination Strg+Enter ausgeführt werden. | ||
+ | |||
+ | ===== Zusammenfassung ===== | ||
+ | In dieser Lektion haben wir etwas über die Entstehung von JavaScript und über die Ausführung im Browser gelernt. Weiterhin haben wir Vor- und Nachteile beim Einsatz von JavaScript gesehen. Wir haben weiterhin die Entwicklerkonsole im Browser kennengelernt. | ||
+ | |||
+ | ==== Aufgabe ==== | ||
+ | - Öffnet einen Browser eures Vertrauens | ||
+ | - Untersuche deine Lieblingsseite mit der JavaScript Konsole | ||
+ | - Macht euch mit der Entwicklerkonsole und ihren Funktionen vertraut | ||
+ | - Erstellt in eurem Arbeitsverzeichnis einen Ordner „JavaScript/ | ||
+ | - Öffnet die HTML Datei im Browser und führt das „Hello World“ Beispiel aus | ||
+ | |||
+ | [[javascripting: | ||