Heim  >  Artikel  >  Web-Frontend  >  Einführung in den Unterschied zwischen null und undefiniert in JavaScript_Javascript-Kenntnissen

Einführung in den Unterschied zwischen null und undefiniert in JavaScript_Javascript-Kenntnissen

WBOY
WBOYOriginal
2016-05-16 16:22:311062Durchsuche

In JavaScript gibt es zwei spezielle Werte, die das Fehlen von Informationen darstellen: null und undefiniert. Persönlich denke ich, dass der Unterschied zwischen diesen beiden besonderen Werten aus der folgenden Perspektive verstanden werden kann:

1.null stellt einen Container dar, der Informationen speichert (z. B. eine Variable, der zuvor ein Wert zugewiesen wurde), aber der Inhalt im Container ist leer.
2. undefiniert bedeutet, dass kein Container zum Speichern von Informationen vorhanden ist.

Die Null in JavaScript unterscheidet sich nicht von der Null in den meisten anderen Programmiersprachen. Sie wird grundsätzlich verwendet, um anzuzeigen, dass der Informationswert in JavaScript leer ist. Der Ausdruck gibt in den folgenden Situationen ein undefiniertes Ergebnis zurück:

1. Eine Variable, der noch nie ein Wert zugewiesen wurde.
2. Greifen Sie auf einen Eigenschaftswert zu, der in einem Objekt nicht vorhanden ist.
3. Greifen Sie auf Mitglieder zu, die nicht im Array vorhanden sind.
4. Rufen Sie eine Funktion ohne Return-Anweisung auf.
5. Rufen Sie die Funktion auf, deren Return-Anweisung leer ist („return;“).

Tatsächlich ist undefiniert wie Infinity und NaN eine globale Variable in JavaScript und kann in ECMAScript 3 sogar andere Werte zugewiesen werden. ECMAScript 5 behebt diesen Fehler und macht undefinierte Variablen schreibgeschützt.

Für den Vergleich zwischen null und undefiniert können Sie den Kongruenzoperator === verwenden. Wenn Sie den gewöhnlichen ==-Operator verwenden, sind null und undefiniert äquivalent:


Code kopieren Der Code lautet wie folgt:

console.log(null == undefiniert);//true
console.log(null === undefiniert);//false


Wenn Sie während der Programmierung einer Variablen einen Nullwert zuweisen müssen, verwenden Sie im Allgemeinen null anstelle von undefiniert. Der Grund ist:

1. Unter „undefiniert“ versteht man im Allgemeinen einen Mangel an Informationen auf Systemebene und Fehlerberichtsebene.
2. Null wird im Allgemeinen als leerer Informationswert auf Programmierebene und Ebene logischer Operationen betrachtet.

Wenn das Programm eine Typkonvertierung beinhaltet, sind die Ergebnisse von null und undefiniert bei der Konvertierung in einen Zahlentyp unterschiedlich:

1. Das Ergebnis der Konvertierung von undefiniert in eine Zahl ist NaN.
2. Das Ergebnis der Konvertierung von null in eine Zahl ist 0.

Es ist erwähnenswert, dass das Ergebnis der Konvertierung leerer Zeichenfolgen und leerer Arrays in Zahlen ebenfalls 0 ist.

Warum zwei Werte, die „keine“ darstellen, in JavaScript entworfen werden, erfahren Sie im Blogbeitrag von Ruan Yifeng.

Experimentieren

Im folgenden experimentellen Code sind die Ausdrucksergebnisse alle undefiniert:

Code kopieren Der Code lautet wie folgt:

var a;
console.log(a);

Funktion Sample(x){
this.x = x;
}
var s = new Sample();
console.log(s.x)
console.log(s.notExistVariable);

var n = [2,3,4];
console.log(n[8]);

Funktionstest(){
//Kein Rückgabewert für diese Funktion
}
console.log(test());

Funktionstest2(){
zurück;
}
console.log(test2());

Stellungnahme:
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn