JavaScript Quickies für Einsteiger

From macwrench
Jump to navigation Jump to search

In diesem Artikel sollen (sowohl für den Einstieg dieser Sprache als auch zum Nachschlagen) die wichtigsten Eigenheiten von JavaScript, Unterschiede zu anderen Programmiersprachen sowie wichtige Funktionen und Operatoren gesammelt werden. Weitere Links und Infos zu JavaScript sind im Artikel Webentwicklungs-Ressourcen zu finden.


Datentypen und ihre Wertebereiche

Da die Typisierung in JavaScript (wie auch in PHP) nicht besonders streng (genau genommen: nicht existent) ist, kann damit eigentlich recht lasch umgegangen werden - eine Unterscheidung in float, int usw. wie in anderen Programmiersprachen existiert praktisch nicht Es gibt jedoch einige weitere Datentypen, die in der folgenden Übersicht aufgelistet werden:

Übersicht der Datentypen

Datentyp Beschreibung
number Zahlenwerte, es existiert bei der Deklaration/Initialisierung keine explizite Unterscheidung in int, float etc.
boolean Wahrheitswert, entweder "true" oder "false"
null Nullwert, enthält den wert "null" (sonst nix, eigentlich kein "Datentyp" im eigentlichen Sinne, da jer ja keinen Wert oder Wertebereich hat)
object Enthält die einem Objekt untergeordnete Menge an Attributen (Eigenschaften)

Die Typumwandlung (Typecasting) erfolgt mit Hilfe verschiedener, objektunabhängiger Funktionen. Weitere Informationen über die verschiedenen, gebräuchlichen Datentypen gibts in der Wikipedia,

Besondere Datentypen

In JavaScript gibt es noch 2 weitere, besonders erwähnenswerte Datentypen:

Datentyp Beschreibung
NaN "Not a Number", d.h. es handelt sich um keinen gültgen Wert des jeweiligen Wertebereiches. Das passiert beispielsweise, falls Operationen solche Ergebnisse liefern (Beispiel: Rückgabewert einer Qudrawurzelfunktion ist ein Integer). Kann mit der Funktion IsNaN() abgefragt werden
Infinity Beschreibt eine Überschreitung des Wertebereiches (Pufferüberlauf) bei numerischen Operationen
undefined wird für nicht initialisierte Variablen und nicht existierende Objekteigenschafte (Attribute) zurückgegeben

Operatoren

Rechenoperatoren

Operator Datentyp Beschreibung
+ Zahlen Addition
Zahlen Subtraktion
* Zahlen Multiplikation
/ Zahlen Division
% Zahlen Modulo (Restangabe)

Inkrement und Dekrement

Operator Datentyp Beschreibung
++ Zahl / Variable Inkrement
–– Zahl / Variable Dekrement

Zuweisungsoperatoren

Operator Beschreibung
+= Addition eines Wertes zu einer Variablen
–= Subtraktion eines Wertes von einer Variablen
*= Multiplikation einer Variable mit einem Wert
/= Division einer Variablen durch einen Wert
%= Restwert der Division einer Variablen durch einen Wert

Weitere wichtige Operatoren

Operator Beschreibung
. Punktoperator für den Zugriff auf Objekteigenschaften (z.B. meinObjekt.Eigenschaft1) und Collections (z.B. document.meinFormular.eingabeFeld.value)
+ Operator zur Verkettung (Verknüpfung) von Zeichenketten
typeof Ermittlung des Datentyps, z.B.: alert(typeof MeineVariable);
void Wird verwendet wenn verhindert werden soll, dass ein Rückgabewert erzeugt wird.
Beispiel: void meinInteger++;
delete dient dem Löschen von Objekten, z.B.: delete meinObjekt;

Weitere Operatoren und detailliertere Beschreibungen sind hier zu finden.

Wichtige Funktionen

Objektunabhängige Funktionen

Funktionsname Beschreibung
eval() Übergabewert wird als JavaScript-Code interpretiert und ausgeführt
parseInt() Umwandlung (Typecasting) in eine Ganzzahl (integer)
parseFloat() Umwandlung (Typecasting) in eine Gleitkommazahl (float)
isNaN() Überprüft den Variableninhalt daraufhin, ob er nicht-numerisch ist.
isFinite() Überprüft einen Wert auf Endlichkeit bzw. Gültigkeit (z.B. bei Pufferüberläufen oder einer Division durch 0), steht seit Javascript 1.3 zur Verfügung
Number() Überprüft den Variableninhalt auf einen numerischen Wert
String() Wandelt den Wert in einen String (alphanumerische Zeichenkette) um
escape() Umwandlung von ASCII-Zeichen in Zahlenwerte
unescape() Mit escape() kodierte Zahlenwerte in ASCII-Werte umwandeln
encodeURI() URI für die Weiterverarbeitung kodieren (Sonderzeichen werden umgewandelt). Alle außer den folgenden Zeichen werden umgewandelt: 0 - 9, A - Z, a bis z sowie - _ . ! ~ * ' ( ) / ? : @ & = + $
encodeURIComponent() vergleichbar mit encodeURI, es werden jedoch auch die folgenden Zeichen umgewandelt: , / ? : @ & = + $
decodeURI() decodiert einen mittels encodeURI erzeugten URI
decodeURIComponent() decodiert einen mittels encodeURIComponent erzeugten URI und sollte auch nur auf diese URIs angewendet werden.

Eine detailliertere Beschreibung dieser Funktionen mitsamt Beispielen ist hier zu finden.

Weitere Informationen

... sind im Artikel Webentwicklungs-Ressourcen zu finden.