Sie sind hier 271
Typen, Gleichheit, Umwandlung und der ganze Rest
Viele Funktionen und Methoden geben Objekte zurück. Daher ist es oftmals
sinnvoll, zu testen, ob der Rückgabewert tatsächlich ein Objekt ist und nicht
etwa null. Es kann ja sein, dass die Funktion kein Objekt finden oder erstellen
konnte. Aus dem DOM kennen Sie bereits ein paar Beispiele, in denen ein
Test nötig ist:
var weather = document.getElementById("wetter_widget");
if (weather != null) {
// Inhalt für das Wetter-Widget erzeugen
}
Die Verwendung von null
Der Rückgabewert null muss nicht zwangsläufig bedeuten, dass irgendetwas
nicht stimmt. Vielleicht muss ein Objekt erst noch erzeugt werden, oder etwas
existiert nicht, und Sie können es überspringen. Angenommen, die Benutzer
können auf Ihrer Webseite ein Wetter-Widget öffnen oder schließen. Ist das
Widget geöffnet, gibt es im DOM ein <div> mit der ID »wetter_widget«, falls
nicht, gibt es auch kein <div>. Plötzlich erscheint null gar nicht mehr so
unsinnig:
var header = document.getElementById("header");
if (header == null) {
// Wenn wir keinen header haben, ist irgendetwas nicht in Ordnung.
}
Hatterwüsting
28 Grad,
Regenwahrscheinlichkeit
40 %
Wir suchen das Element
mit der ID header.
Kein header zu finden. Alle Mann von Bord!
Überprüfen, ob das Element mit der
ID »wetter_widget« existiert.
Ist der Rückgabewert von getElementById etwas
anderes als null, existiert ein entsprechendes Element
in der Seite. Lassen Sie uns ein hübsches Widget bauen
(z. B. für das Lokalwetter).
Vergessen Sie nicht: null steht für ein
Objekt, das nicht existiert.
Mit null können wir
testen, ob ein Objekt
existiert oder nicht.
272 Kapitel 7
NaN ist seltsam
NaN != NaN
NaN != NaN
Glauben Sie's oder nicht!!
D
i
e
Z
a
h
l
,
d
i
e
k
e
i
n
e
Z
a
h
l
i
s
t
Ob Sie's glauben oder nicht, aber es gibt
numerische Werte, die in JavaScript nicht
darstellbar sind! JavaScript kann diese
Werte nicht ausdrücken und verwendet
stattdessen einen Platzhalter, der so heißt:
Es ist einfach, JavaScript-
Anweisungen zu schreiben, deren
Ergebnis kein wohldefinierter
numerischer Wert ist. Hier ein paar
Beispiele:
var a = 0/0;
var b = "Essen" * 1000;
var c = Math.sqrt(-9);
In der Mathematik hat
dies keine direkte Antwort,
daher können wir auch nicht
erwarten, dass JavaScript
die Lösung kennt.
Wir wissen nicht, welches
Ergebnis das ergibt, aber es
ist sicherlich keine Zahl!
Wie Sie vielleicht noch aus
dem Mathematikunterricht
wissen, ist die Wurzel aus einer
negativen Zahl eine imaginäre
Zahl, die in JavaScript nicht
dargestellt werden kann.
NaN
NaN
JavaScript verwendet den Wert NaN, auch
bekannt als »Not a Number« (keine Zahl),
um numerische Ergebnisse auszugeben,
die nicht darstellbar sind. Nehmen Sie
beispielsweise 0 geteilt durch 0. Das
Ergebnis ist etwas, das sich in einem
Computer nicht abbilden lässt und deshalb
in JavaScript durch NaN ausgedrückt wird.
NaN IST VERMUTLICH DER
SELTSAMSTE WERT DER
WELT. Er steht nicht nur
für alle nicht darstellbaren
numerischen Werte, sondern
er ist auch der einzige Wert
in JavaScript, der nicht zu sich selbst
gleich ist!
Sie haben richtig gehört. Wenn Sie NaN
mit NaN vergleichen, sind die beiden Werte
nicht gleich!

Get JavaScript-Programmierung von Kopf bis Fuß now with the O’Reilly learning platform.

O’Reilly members experience books, live events, courses curated by job role, and more from O’Reilly and nearly 200 top publishers.