Variablen und Operatoren |
|
Anweisungen notieren
JavaScript besteht aus einer kontrollierten Anordnung von Anweisungen. Das sind Befehle, die der JavaScript-Interpreter des WWW-Browsers bewertet und in Maschinencode umsetzt, der auf dem Rechner des Anwenders ausführbar ist. Es gibt einfache und komplexere Anweisungen.
Beispiel 4
Zahl = 42;
Quadrat = Zahl * Zahl;
alert("Das Quadrat von " + Zahl + " = " + Quadrat);
Eine Anweisung in JavaScript besteht immer aus einem Befehl, der mit einem Strichpunkt ; abgeschlossen wird. In einigen Dokumentationen zu JavaScript wird der Strichpunkt am Ende von einfachen Anweisungen zwar häufig weggelassen, aber um unnötige Fehler zu vermeiden, ist es ratsam, sich von vorneherein anzugewöhnen, alle Anweisungen auf diese Weise abzuschließen. (Bei allen weiterführenden Programmiersprachen z.B. PHP oder C ist dieser Abschluß Pflicht und führ zu Fehlern wenn er weggelassen wird.)
Eine Anweisung ist es zum Beispiel:
- wenn Sie einer Variablen einen Wert zuweisen z.B. x = 5;
(Wertzusweisungen bitte nicht mit Gleichungen verwechseln, denn x=x-1; ist durchaus möglich und korrekt.)
- wenn Sie mit Variablen oder Werten eine Operation durchführen z.B. y = x+5;
- wenn Sie einen Befehl nur unter bestimmten Bedingungen ausführen (siehe hierzu auch die Abschnitte über bedingte Anweisungen und über Schleifen).
- wenn Sie eine Funktion oder eine Objektmethode aufrufen, bzw. wenn Sie eine Objekteigenschaft auslesen oder ändern (siehe hierzu den Abschnitt Objekte, Eigenschaften und Methoden).
z.B. alert("Hallo"); oder y = Quadrat(x);
Datentypen
In Programmen werden in der Regel Daten manipuliert. Die Datentypen geben nun an welche Form die Daten haben dürfen und welche Operationen auf ihnen möglich sind.
Zahlen
- JavaScript kennt im Unterschied zu Java keine Trennung von int und float Zahlen.
- Ganze Zahlen werden als 32-Bit-Zahlen verwendet.
Damit haben sie einen Wertebereich von -64536 bis + 64536
- Als Fließkommazahlen verwendet JavaScript sogenannte 64-Bit-IEEE-Zahlen.
Dabei wird als Trennung ein Punkt (kein Komma!) verwendet.
Fließkommazahlen (Gleitkomma-) bestehen aus Mantisse und Exponent
-0,00012 = = -,12*10-3 ist in JavaScript: -.12e-3
- Andere Zahlensysteme werden wie folgt dargestellt:
oktal (Präfix 0) z.B. 02 für 2 oder 010 für 8
hexadezimal (Präfix 0x) z.B. 0x8 für 8
- Das reservierte Wort null bezeichnet das Nichts. Eine Variable die den "Wert" null besitzt ist also nicht einmal mit der 0, welches ja schon ein konkreter Wert wäre, belegt, sondern ist garnicht belegt.
Boolsche Daten
können nur zwei Werte an nehmen:
sie kommen bei Entscheidungsstrukturen innerhalb eines Programms zum Einsatz.
Strings
- Strings sind Zeichenketten, also eine Folgen von beliebigen Zeichen (Zahlen, Buchstaben etc.). Strings werden als Texte behandelt, auch wenn sie aus Ziffern bestehen!
- Bei Wertzuweisungen müssen Strings immer in doppelten oder einfachen Anführungszeichen stehen. "JavaScript" und "12345" sind Strings. Mit dem zweiten String kann man aber nicht rechnen! Rechnen kann man nur mit Zahlen wie 12345.
- Es gibt, anders als in anderen Programmiersprachen keine Längenbeschränkung für Strings.
- Meta- und Steuerzeichen müssen wieder (wie bei HTML) extra kodiert werden um Konflikte mit dem Intrepreter zu vermeiden:
\b Beackspace
\f Form Feed (Seitenvorschub)
\n New Line (Zeilenumbruch auf UNIX-Systemen)
\r Carriage Return (Zeilenumbruch)
\t Tabulator
\ Quote
\ Single Quote
\\ Backslash
Beispiele:
"Das ist eine Zeichenkette"
"Er sagte: \" Guten Tagg!\""
"Die neue Zeile \n beginnt hier."
Variablen und Namen
Variablen sind wie in der Mathematik auch in JavaScript Behälter, die mit unterschiedlichen Werten gefüllt werden können. Um Variable zu benutzen muß man sich einen Namen für jede Variable ausdenken. Verwendern Sie jedoch unbedingt sprechende Variablenname. Das ist eine große Hilfe in komplexen Programmen.
Gesamtname = Nachname + "," + Vorname ist sehr viel besser zu verstehen als
ErgString = str2 + "," + str1
Nur so läßt sich ein komplexeres Script auch im nachhinein noch verstehen. Bei der Wahl der Namen hat man große Freiheiten, solange man ein paar Einschränkungen respektiert:
Sie müssen Variablennamen mit einem Buchstaben beginnen lassen und die Namen sollten nicht länger als 32 Zeichen werden. Weiterhin dürfen die Namen nur bestehen aus:
- a-z
- A-Z
- _ (Unterstrich)
- 0-9
also: keine Umlaute, Sonderzeichen, Leerzeichen etc!
- JavaScript-Schlüsselworte dürfen Sie ebenfalls nicht verwenden (wie zum Beispiel: null)
JavaScript ist case-sensitive, d.h. Sie müssen unbedingt auf Groß- und Kleinschreibung achten! Die Variable Vorname ist eine andere als vorname und die wiederum eine andere als vorName. Sie können alle drei für verschiedene Zwecke verwenden. Sollten sie aber nicht, wenn Sie den Überblick über Ihren Code behalten wollen.
Um die Lesbarkeit des Codes zu erhöhen und sich vor Fehlern zu schützen, sollten Variablen, wenn Sie sie das erste mal benutzen, immer mit var am Anfang definiert und mit einem Wert gefüllt werden.
var summand1 = 5;
Variable haben ganz bestimmte Gültigkeitsbereiche, je nachdem wo sie definiert werden (globale/lokale Variable). Dazu später mehr im Abschritt über Funktionen.
Operanden
Operanden sind Elemente mit denen jeweils eine bestimmte Operation auf den Daten ausgeführt wird. Mit dem Gleichheitszeichen ist es zum Beispiel möglich einer Variablen einen Wert zuzuweisen: x = 5;
Wie bei den Datentypen gibt es auch hier verschiedene Arten von Operanden, von denen nicht jeder Operand auf jeden Datentyp angewendet werden kann.
Logikpoerandenen
finden ihre Anwendung bei boolschen Datentypen. Es gibt:
- UND (&&)
- ODER (||) Im Sinne von "mindestens eines" nicht wie das Spiel "rechte oder linke Hand".
- NICHT (!)
- In der folgenden Wahrheitstafel wird jeweils von zwei boolschen Variablen ausgegangen (A, B) und diese mit einem Logikoperator verknüpft. Das Ergenbis dieser Verknüpfung ist in der Tabelle ablesbar.
A
|
B
|
UND
A&&B
|
ODER
A||B
|
NICHT
!A
|
false |
false |
false |
false |
true |
false |
true |
false |
true |
true |
true |
false |
false |
true |
false |
true |
true |
true |
true |
false |
Vergleichsoperatoren
können bei verschiedenen Datentypen angewendet werden und vergleichen zwei Elemente miteinander. Das Ergebnis ist dabei aber immer ein boolscher Wert, also true oder false.
- == gleich
- != nicht gleich
- < kleiner > größer
- <= / >= kleiner/größer gleich
Arithmetische Operatoren
sind die Anweisungen, die aus der Mathematik bekannt sind.
- + - * / (Addition, Subtraktion, Multiplikation, Division)
- % Modulo ergibt den Rest einer Division 11%4 ergibt 3
- ++ Increment -- Decrement (zählt eins rauf bzw. runter)
Dabei ist die Stellung zur Variablen wichtig!
Welches Ergebnis haben zahl1 und zahl2 am Ende der Operationen? (Lösung am Seitenende)
var anzahl = 5;
var zahl1 = ++anzahl;
var zahl2 = anzahl++;
- Kurzformen
Operator |
Bedeutung |
Langform |
Kurzform |
+= |
Addition |
a = a+b |
a += b |
-= |
Subtraktion |
a = a-b |
a -= b |
*= |
Multiplikation |
a = a*b |
a *= b |
/= |
Division |
a = a/b |
a /= b |
%= |
Modulo |
a = a%b |
a %= b |
Stringoperator
verknüpft Zeichenketten miteinander.
Zum Beispiel:
var name = "Java" + "Script"; ergibt "JavaScript". Aber auch:
var con = "123" + "456"; ergibt "123456", da hier die Ziffern als Strings behandelt werden.
var sum = 123 + 456; würde dagegen 579 ergeben.
In Zweifelsfällen geht JavaScript davon aus, daß es sich um einen String handelt:
var con = "123" + 456; ergibt auch "123456".
Euroumrechner
Als Beispiel 5 soll ein kleiner Rechner dienen, der DM Beträge in Euro errechnet und ausgibt.
Zunächst wird innerhalb des Script-Tags eine Funktion namens "errechneEuro(val)" erstellt. Diese Funktion fasst mehrere Programmbefehle in der folgenden Klammer {...} zusammen. (Zu dem was Funktionen genau sind, werden wir später noch kommen.)
Innerhalb dieser Funktion wir zuerst eine Variable mit dem Schlüsselwort "var" und einem frei erfundenen Namen (hier: "euro") definiert.
Gleichzeitig wird dieser Variablen ein Wert zugewiesen, der sich aus einer Rechnung ergibt. Das Gleichheitszeichen belegt die Variable mit einem Wert. Das Gleichheitszeichen unterstellt nicht - wie in der Mathematik - das die beiden Seiten schon vorher den gleichen Wert hätten.
Die Rechnung ist eine einfache Multiplikation einer weiteren Variablen ("val") mit einem statischen Wert. Letzterer ist eine Kommazahl. Dabei ist zu beachten, daß bei JavaScript unbedingt ein Punkt verwendet werden muß.
Im zweiten Teil wird ebenfalls eine Variable namens "text" angelegt und mit Inhalt gefüllt. Der Inhalt besteht diesmal aus Strings (das sind einfache Zeichenketten, die in Anführungsstriche gesetzt werden müssen, um sie deutlich vom Programmcode bzw. Zahlen abzusetzen) und Variablen. Zeichenketten können in JavaScript mit einem Pluszeichen zusammengefügt werden. Achten Sie dabei auf die Leerzeichen bei der Textausgabe!
Zum Schluß der Funktion erfolgt die Ausgabe über eine Alertbox.
Aufgerufen und abgespielt wird die Funktion durch einen Formularbutton (onclick-Anweisung, auch dazu später mehr).
Lösung : Sowohl zahl1 als auch zahl2 haben als Inhalt eine 6.