Besonderheiten beim JavaScript-Quellcode
Variablen
Globale und lokale Variablen
Rangfolge der Operatoren
Reservierter Wörter
Steuerzeichen
Dezimaltrennzeichen (Punkt || Komma)


Besonderheiten beim JavaScript-Quellcode

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.

Variablen

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.

Globale und lokale Variablen

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.

Rangfolge der Operatoren

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)

Reservierter Wörter

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.

Steuerzeichen

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

Dezimaltrennzeichen (Punkt || Komma)

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):

Position in der html-Datei: body-Bereich
Testfeld Komma2Punkt:
Funktionsweise: Die Felder mit den umzuwandelnden Zahlen sind nach dem Schema einzelpreis... benannt, wobei die Punkte für einen bestimmten individuellen String (Zeichenkette) stehen. Mit dem Event-Befehl onblur="dezimalkomma('Zeichenkette') wird beim Verlassen des Feldes das Komma mit dem Punkt ausgetauscht. Dieses JavaScript eigent sich zwar nur leicht eingeschränkt - da es nur ein Komma umwandelt - für den Alltag sollte dies aber meist reichen. <[Anwendungsbeispiel]>
Hinweis: Mit eval("... = replace./,/g,\".\") ist das Ersetzen aller Kommas im obigen Feld möglich.

Weiterführendes:
www.teamone.de/selfhtml/ Bitte beachten: Keine Haftung für Inhalte fremder Internetseiten
www.robert-web.de/reserviertewords.shtml Bitte beachten: Keine Haftung für Inhalte fremder Internetseiten.

© 2001