Besonderheiten beim JavaScript-Quellcode
Variablen
Globale und lokale Variablen
Rangfolge der Operatoren
Reservierter Wörter
Steuerzeichen
Dezimaltrennzeichen (Punkt || Komma)
Grundsätzlich sollte JavaScript-Quellcode mehr nach dem Prinzip der Schönheit als der maximalen Kompaktheit geschrieben sein. D.h. er sollte übersichtlich und mit den notwendigen Kommentaren versehen sein, damit er leicht veränderbar und pflegbar ist.
Beim Setzen von Variablen ist einiges zu beachten. Folgende paarige Zeilen Code sind an sich gleichwertig (sog. Boolean-Variablen):
variable=false
variable=0
variable=true
variable=1
Beachte: Die Zahlen 0 und 1 dürfen nicht in Anführungszeichen stehen.
Abgefragt werden können die Variablen so:
if(variable) ...
if(variable==true) ...
if(varialbe==1) ...
(variable)?"":"";
bzw. negiert:
if(!variable) ...
variable=!variable
Abgrenzungsbeispiel:
variable="0"
wenn nun:
if(variable)
dann:
true
da String nicht leer ist sondern 0.
Das obige JavaScript-Beispiel enthält die Variable „Zahl“. Dieser wird »global« der Wert "10" zugewiesen. Nach der Übergabe an die Funktion meineZahl() wird »lokal« - also nur für die Funktion - die Variable um "2" erhöht. Außerhalb der Funktion meineZahl() ist der global gespeicherte Wert der Variable unverändert "10".
Folgende Ausgabe sollte nach dem Aufrufen (obiger Button) im Browserfenster erscheinen:
Zahl direkt nach seiner Initialisierung: 10
Zahl in der Funktion: 10 Zahl in der Funktion +2: 12 Zahl nach dem Zurückkehren aus der Funktion: 10 |
Hierin liegt der Unterschied zwischen einer lokalen und einer globalen Variable.
Die Rangfolge der Operatoren ist fest geregelt; diese muss unbedingt beachtet werden.
Rangfolge | Operatoren |
1 | , (Aneinanderreihung) |
2 | = += -= <<= >>= &= ^= |= |
3 | ?: (Entweder-Oder-Bedingung) |
4 | || |
5 | && |
6 | | |
7 | ^ |
8 | & |
9 | == === != !== |
10 | < <= > >= |
11 | << >> >>> |
12 | + - |
13 | * / % |
14 | ! ~ - ++ -- |
15 | () [] . (Klammerung und Vektoren) |
In JavaScript gibt es eine Reihe von reservierten Wörtern, die Sie beim Programmieren beachten müssen. Eine Verwendung als Variablen-, Methoden-, Objekt- oder Funktionsnamen ist nicht gestattet. Dies gilt auch für die noch nicht verwendeten (n.n.v.), vorläufig reservierten, Wörter.
Reserviertes Wort | für: |
break | Abbruch in Schleifen (Anweisung) |
case | Fallunterscheidungen |
catch | dient zur Fehlerbehandlung (ab JavaScript-Version 1.4) (Anweisung) |
const | dient zur Deklaration von Konstanten (ab JavaScript-Version 1.5) |
continue | Fortsetzung in Schleifen (Anweisung) |
default | Fallunterscheidungen |
delete | Operator: Objekte und Objekteigenschaften löschen |
do | Schleifen mit "do-while" |
else | Sonst-Fall in bedingten Anweisungen mit "if" |
export | Objekte oder Funktionen für fremde Scripts ausführbar machen (Anweisung) |
false | Rückgabewert von Funktionen: falsch |
for | Schleifen mit "for" |
function | Funktionen |
if | bedingte Anweisungen mit "if" |
in | spezielle Schleifen mit "for" |
instanceof | prüft, ob eine Variable eine Instanz eines Objektes ist (ab JavaScript-Version 1.4) |
new | dient zum Definieren von Objekten |
null | setzt ein Objekt auf null, ohne das Objekt selbst zu löschen |
return | Rückgabewerte in Funktionen |
switch | Fallunterscheidungen |
this | Bezug auf das aktuelle Objekt |
throw | Nutzerdefinierte Ausnahme (ab JavaScript-Version 1.4) (Anweisung) |
true | Rückgabewert von Funktionen: wahr |
try | testet eine Anweisung auf Ausführbarkeit (ab JavaScript-Version 1.4) (Anweisung) |
typeof | Operator: liefert den Typ eines Elementes |
var | Variablendefinitionen |
void | Operator: unterdrückt Rückgabewerte |
while | Schleifen mit "while" |
with | um mehrere Anweisungen mit einem Objekt durchzuführen |
Reserviertes Wort | noch nicht verwendet |
abstract | n.n.v. |
boolean | n.n.v. |
byte | n.n.v. |
char | n.n.v. |
class | n.n.v. |
debugger | n.n.v. |
double | n.n.v. |
enum | n.n.v. |
extends | n.n.v. |
final | n.n.v. |
finally | n.n.v. |
float | n.n.v. |
goto | n.n.v. |
implements | n.n.v. |
import | n.n.v. |
int | n.n.v. |
interface | n.n.v. |
long | n.n.v. |
native | n.n.v. |
package | n.n.v. |
private | n.n.v. |
protected | n.n.v. |
public | n.n.v. |
short | n.n.v. |
static | n.n.v. |
super | n.n.v. |
synchronized | n.n.v. |
throws | n.n.v. |
transient | n.n.v. |
volatile | n.n.v. |
Alle Steuerzeichen beginnen mit einem \ (backslash). Nachfolgend die Liste der möglichen Steuerzeichen:
Zeichen | Wirkung / Bedeutung |
\b | Backspace |
\f | Seitenvorschub (Form Feed) |
\n | Zeilenvorschub (New Line) |
\r | Wagenrücklauf (Carriage Return) |
\t | Tabulator |
\' | Apostrophzeichen ( ' ) |
\" | Anführungszeichen "normal" ( " ) |
\\ | Backslash-Zeichen ( \ ) |
\XXX | Ein Zeichen des Latin-1-Zeichensatzes, welches durch bis zu drei octale Zahlen genauer angegeben wird. Bereich von 0 bis 377, wobei \251 z.B. für das Copyrightzeichen steht. |
\xXX | Hexadezimaler Wert ― Converter Dezimal -> Hexadezimal |
\uXXXX | Unicode Zeichen ― Unicode-Tabelle |
Im Englischen ist das Dezimaltrennzeichen der Punkt. In Deutschland aber beispielsweise nicht - hier ist das Komma das Dezimaltrennzeichen. Probleme ergeben sich, wenn Zahlen in ein Formular eingegeben werden sollen, mit denen dann weitergerechnet werden soll. Hier muss zuerst das Dezimaltrennzeichen ausgetauscht werden. Oder alternativ muss das Eingeben von Komma unterbunden werden.
Nachfolgend ein einfaches JavaScript zum Umwandeln des Dezimaltrennzeichens (Komma Punkt):
Weiterführendes:
www.teamone.de/selfhtml/
www.robert-web.de/reserviertewords.shtml .
© 2001