Kapitel 4 - JavaScript Flashcards
Was ist die Sprache JavaScript? (4)
- Objekt-orientierte, dynamische Skriptsprache von Netscape
- Nutzt (in der Regel) den Browser als Laufzeitumgebung
- Ermöglicht es, dynamisch erzeugte Inhalte anzuzeigen
- Hierfür Zugriff auf das Document Object Model möglich
Was ist das Document Object Model? (4)
- Baumartige Datenstruktur im Hauptspeicher des Browsers
- Beinhaltet alle Elemente einer angezeigten HTML-Seite
- Dient als Grundlage, auf der eine Seite gerendert wird
- Nachträgliche Änderungen werden sofort angezeigt
Wie geht JavaScript mit Variablen um? (4)
- Variablen mssen vor ihrer Verwendung nicht definiert werden
- Ohne Zusatz sind Variablen immer global
- Globale Variablen sind an das window-Objekt gebunden
- Nicht vorhandene Variablen haben den Wert undefined
x = 5; amount = (7*8); usw…
Wie geht JavaScript mit Bedingungen und Schleifen um?
Bedingungen und Schleifen funktionieren wie von Java gewohnt!
if (==5) {…}
while (x < 10) {…}
Wie ist die Syntax von Methodenaufrufen von JavaScript?
Die selbe wie in Java!
window.alert(“Hallo”);
Wie funktionieren Funktionen in JavaScript?
- JavaScript kennt keine Klassen und damit auch keine Methoden
- Stattdessen werden mit function Unterprogramme definiert
- Die beiden gezeigten Schreibweisen sind gleichbedeutend, weil sog. “First Class Citizen”
function show_text(text, count) {…}
show_text = function(text, count) {…}
Wie verhält es sich mit Arrays und Listen in JavaScript?
Arrays bzw. Listen werden einfach durch eckige Klammern angelegt!
var numbers = [1, 2, 3, 4];
var words = [“one”, “two”, “three”];
var contacts = [
{id: 137, name:”Ratz”, vorlesung: “VertSys”},
{id: 254, name:”Küstermann”, vorlesung:”WebProg”}
];
(contacts[0] [“name”] == contacts[1] [“name”]) == false
- Geschweifte Klammern definieren ein assoziatives Array
- Zugriff auf Werte mit dict[“key”] oder dict.key erlaubt
- Das Beispiel zeigt eine Liste von assoziativen Arrays / Dictionaries
- Keine direkte Entsprechung in Java, am ehesten Map
Was ist die dynamische Typisierung (Duck Typing) in JavaScript?
- If it look like a duck, walks like a duck and quacks like a duck…
- Keine Typangabe bei der Definition von Variablen möglich
- Der Typ ergibt sich aus dem Inhalt und kann sich jederzeit ändern
- Prüfungen bei Variablenzugriffen finden erst zur Laufzeit statt
Nennen Sie die 3 möglichkeiten JavaScript in HTML einzubinden
- Verweis auf externe Datei
- Code als Teil des Scriptelements
- Scriptelement im Seitenkörper
Wie funktioniert JavaScript mit DOM zusammen? (4)
- Der Browser lädt eine Webseite mit eingebundenem JavaScript.
- Daraufhin wird das Document Object Model erstellt und die Seite angezeigt.
- Der eingebundene JavaScript-Code nimmt eine Änderung am DOM-Baum vor.
- Die vorgenommene Änderung arbeitet der Browser sofort in die angezeigte Seite ein.
Nennen sie die Vorteile von JavaScript
- Kompakter Sprachumfang mit javaähnlicher Syntax
- Offizieller ECMA-Standard, von allen Webbrowsern unterstützt
- Vermehrte Nutzung als Allzwecksprache
Nennen Sie die Nachteile von JavaScript
- Sehr begrenzter Sprachumfang mit sehr wenigen Kernklassen
- Kompatibilitätsprobleme zwischen verschiedenen Webbrowsern
- Objektorientierung aktuell noch sehr umständlich realisierbar
Viele Nachteile werden durch JavaScript-Bibliotheken behoben