Heim > Artikel > Web-Frontend > Ausführliche Erläuterung von Anwendungsbeispielen zum Unterschied zwischen undefiniert, null, NaN usw. in JavaScript
Der Unterschied zwischen undefiniert, null und NaN in js
1. Typanalyse:
Die Datentypen in js umfassen undefiniert, boolesch, Zahl Es gibt 5 Typen wie Zeichenfolge und Objekt. Die ersten 4 Typen sind primitive Typen und der fünfte Typ ist der Referenztyp.
var a1; var a2 = true; var a3 = 1; var a4 = "Hello"; var a5 = new Object(); var a6 = null; var a7 = NaN; var a8 = undefined; alert(typeof a); //显示"undefined" alert(typeof a1); //显示"undefined" alert(typeof a2); //显示"boolean" alert(typeof a3); //显示"number" alert(typeof a4); //显示"string" alert(typeof a5); //显示"object" alert(typeof a6); //显示"object" alert(typeof a7); //显示"number" alert(typeof a8); //显示"undefined"
Wie aus dem obigen Code ersichtlich ist, sind undefinierte Werte und nicht zugewiesene Werte undefiniert, null ist ein spezielles Objekt und NaN ist eine spezielle Zahl.
2. Vergleichsoperationen
var a1; //a1的值为undefined var a2 = null; var a3 = NaN; alert(a1 == a2); //显示"true" alert(a1 != a2); //显示"false" alert(a1 == a3); //显示"false" alert(a1 != a3); //显示"true" alert(a2 == a3); //显示"false" alert(a2 != a3); //显示"true" alert(a3 == a3); //显示"false" alert(a3 != a3); //显示"true"
Aus dem obigen Code können wir die Schlussfolgerung ziehen: (1) undefiniert und null sind gleich; NaN Nicht gleich einem Wert, nicht gleich sich selbst.
Undefiniertes JavaScript-Attribut
Definition und Verwendung
Das undefinierte Attribut wird zum Speichern des undefinierten JavaScript-Werts verwendet.
Syntax
undefiniert
Erklärung
For/in-Schleife kann nicht zum Aufzählen undefinierter Eigenschaften verwendet werden, noch kann das Löschvorgangszeichen verwendet werden um es zu löschen.
undefiniert ist keine Konstante und kann auf andere Werte gesetzt werden.
Undefiniert wird auch zurückgegeben, wenn versucht wird, eine nicht vorhandene Objekteigenschaft zu lesen.
Tipps und Hinweise
Tipp: Sie können den ===-Operator nur verwenden, um zu testen, ob ein Wert undefiniert ist, da der ==-Operator den undefinierten Wert als äquivalent betrachtet null .
Hinweis: Null bedeutet keinen Wert, während undefiniert eine nicht deklarierte Variable oder eine Variable bedeutet, die deklariert wurde, der aber kein Wert zugewiesen wurde, oder eine Objekteigenschaft, die nicht existiert.
Beispiel
In diesem Beispiel werden wir feststellen, dass eine der beiden Variablen undefiniert ist:
<script type="text/javascript"> var t1="" var t2 if (t1===undefined) {document.write("t1 is undefined")} if (t2===undefined) {document.write("t2 is undefined")} </script>
Ausgabe:
t2 ist undefiniert
Richter undefiniert:
<span style="font-size: small;">var tmp = undefined; if (typeof(tmp) == "undefined"){ alert("undefined"); }</span>
Richter null:
<span style="font-size: small;">var tmp = null; if (!tmp && typeof(tmp)!="undefined" && tmp!=0){ alert("null"); } </span>
Richter NaN:
<span style="font-size: small;">var tmp = 0/0; if(isNaN(tmp)){ alert("NaN"); }</span>
Erklärung: Wenn NaN Vergleich mit Jeder Wert (einschließlich sich selbst) gibt „false“ zurück. Um also festzustellen, ob ein Wert NaN ist, können Sie nicht die Operatoren == oder === verwenden.
Tipp: Die Funktion isNaN() wird normalerweise verwendet, um die Ergebnisse von parseFloat() und parseInt() zu erkennen und festzustellen, ob sie zulässige Zahlen darstellen. Natürlich können Sie die Funktion isNaN() auch verwenden, um Rechenfehler zu erkennen, z. B. die Verwendung von 0 als Teiler.
Das obige ist der detaillierte Inhalt vonAusführliche Erläuterung von Anwendungsbeispielen zum Unterschied zwischen undefiniert, null, NaN usw. in JavaScript. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!