JavaScript-Kurs

JavaScript hat im Bereich der mathematischen Funktionen und der Stringmanipulierung einiges zu bieten. Wirkt JS sonst als eine etwas kastrierte Sprache, so wird dies ausgeglichen durch leistungsfähige Funktionen. Diese orientieren sich ganz an dem Hauptanwendungsgebiet von JS: dem Ergänzen des Browsers. Natürlich haben Script-Schwergewichte wie PHP und Perl im Funktionsumfang, aber schließlich soll JavaScript auch die Server entlasten.

Beginnen wir mit den mathematischen Funktionen. JavaScript bietet in diesem Bereich 17 Funktionen an. Sollte eine wichtige Funktion nicht dabei (z.B. Temperaturumrechnung) und die benötigte Formel unbekannt sein, empfiehlt sich die Anschaffung eines Formelbuchs für Computersprachen. Es ist dabei praktisch egal, ob in einem solchen Buch die verwendete Programmiersprache C, Basic oder Pascal heißt, da der eigentliche Formelbestandteil in den meisten Fällen 1:1 für JavaScript übernommen werden kann.

Mathematische Funktionen

Nach dem letzten Kursteil kennen Sie bereits die vier Grundrechenarten und die mathematische Konstanten (PI, Eulersche Zahl). Das Klammern erlaubt sind, sei als Zusatz erwähnt. Um bestimmte gängige mathematische Berechnungen nicht in komplizierte Programmierarbeit ausarten zu lassen, kennt JavaScript wie jede andere Programmiersprache ein Set an vordefinierten Funktionen. Es kann bei den verschiedenen Browsern zu Unterschieden im Ergebnis der Beispiele kommen. Solange sich das alles mehrere Stellen hinter dem Komma abspielt, ist das in Ordnung.

abs()

abs gibt den absoluten Wert einer Variable/Zahl zurück. Der absolute Wert ist vorzeichenlos, d.h. immer positiv. Beispiel:

document.writeln(Math.abs(-8));

ergibt 8.

acos()

Diese Funktion berechnet den Arcus Cosinus einer Zahl. Beispiel:

document.writeln(Math.acos(0.8))

ergibt: 0.6435011087932844

Der Wert für ACOS muß zwischen -1 und 1 liegen, ansonsten gibt JavaScript ein "NaN" zurück - das bedeutet, das kein gültiges Ergebnis ermittelt werden konnte. Bitte beachten Sie auch, das ein "NaN" keinen JavaScript-Fehler erzeugt. Erst beim Weiterverarbeiten kann es zu Folgefehlern kommen. ACOS kann auch so dargestellt werden:

Math.PI/2-asin(x)

Diese Funktion berechnet den Arcus Sinus einer Zahl. Beispiel:

document.writeln(Math.asin(0.8))

ergibt: 0.9272952180016123

Ebenso wie bei ACOS muß der Wert zwischen -1 und 1 liegen.

Wenn wir die Spezialfälle asin(1) und asin(-1) einmal ignorieren, kann asin auch folgendermaßen geschrieben werden:

Math.atan(x/Math.sqrt(1-x*x))

Diese Funktion berechnet den Arcus Tangens einer Zahl. Beispiel:

document.writeln(Math.atan(1))

ergibt: 0.7853981633974483

ceil ist gleichbedeutend mit einer Aufrundung einer Zahl. Im Unterschied zum normalen Runden wird immer aufgerundet. Die Funktion ist identisch mit der ceil()-Funktion in C. Beispiele:

document.writeln(Math.ceil(1.2))

ergibt: 2

document.writeln(Math.ceil(-1.2))

ergibt: -1

Berechnet den Cosinus. Beispiel:

document.writeln(Math.cos(1))

ergibt: 0.5403023058681398

Berechnet den Exponentialwert der Zahl auf Basis der Eulerschen Konstante. Beispiel:

document.writeln(Math.exp(5))

ergibt: 148.4131591025766

floor ist das Gegenstück zu ceil und rundet immer ab. Beispiele:

document.writeln(Math.floor(1.2))

ergibt: 1

document.writeln(Math.floor(-1.2))

ergibt: -2

gibt den natürlichen Logarithmus der Zahl zurück. Beispiel:

document.writeln(Math.log(4))

ergibt: 1.3862943611198905

Beide Funktionen erwarten zwei Parameter und geben die größere (max) bzw. kleinere (min) Zahl zurück. Beispiel:

document.writeln(Math.max(4,5)

ergibt: 5

document.writeln(Math.min(3,5)

ergibt: 3

Pow berechnet den Ausdruck x^y und erwartet somit zwei Zahlen. Beispiel:

document.writeln(Math.pow(3, 2)

ergibt: 9

Auch die beliebte Pseudo-Zufallszahl darf nicht fehlen. Intern wird der "Zufall" über eine Formel bestimmt, was für JS-Anwendungen völlig ausreicht. Die Funktion erwartet keine Parameter und gibt eine Bruchzahl zwischen 0 und 1 zurück. Beispiel:

document.writeln(Math.random())

ergibt z.B.: 0.7838897257095042

Während float und ceil "falsche" Rundungsfunktionen sind, ist round eine echte kaufmännische Rundungsfunktion. Beispiel:

document.writeln(Math.round(4.5))

ergibt: 5

Berechnet den Sinus eines Wertes.

Beispiel:

document.writeln(Math.sin(0.1))

ergibt: 0.09983341664682815

Diese Funktion liefert die Quadratwurzel einer Zahl zurück. Beispiel:

document.writeln(Math.sqrt(49))

ergibt: 7

Berechnet den Tangens eines Wertes. Beispiel:

document.writeln(Math.tan(4))

ergibt: 1.1578212823495774

Nachbildung einer nicht vorhandenen Funktion

Die JavaScript-Funktionen sind ausreichend, um die meisten fehlenden Funktionen nachzubilden. In Basic und C gibt es den COSH (Cosinus hyperbolisch). Mit der EXP-Funktion ist das kein Problem:

(Math.exp(x) + Math.exp(-x))/2

Wobei x den zu berechnenden Wert darstellt.

Nächstes Mal

Geht es u.a. um String-Funktionen. Sie werden erfahren, wie Texte gesucht und ersetzt werden können und wie man Zeichenketten zerteilt und modifiziert.


Mia Jaap
Aus: ST-Computer 12 / 2001, Seite 32

Links

Copyright-Bestimmungen: siehe Über diese Seite