Nach der Forschung gibt es einen großen Unterschied zwischen den beiden.
Test OS: Ubuntu
Testbrowser: Chrom
Testfall 1
console.log (a)
ReferenzError: a ist nicht definiert
Testfall 2
var a
console.log (a)
Es wurden keine Fehler gemeldet, aber die Ausgabe war undefiniert war
Testfall 2
var b = {};
console.log (ba)
Es wurden keine Fehler gemeldet, aber die Ausgabe war undefiniert war
Testfall 3
Funktion c () {
}
var d = neu c ();
console.log (da)
Es wurden keine Fehler gemeldet, aber undefiniert
Über Typof
Alle zum Testen verwendeten Objekte werden mit typenof zurückgegeben ("undefined").
Über oder operativ ||
var d = a || 3
Melden Sie einen Fehler A nicht definiert
var a;
var d = a || 3
Ergebnis: D == 3
var c = 22 || 44
C == 22
var c = false || 33
C == 33
if (x) {
}
Einen Fehler melden
var x
if (x) {
}
Wenn nicht ausgeführt
Zusammenfassen:
In JS gibt es zwei Arten von undefinierter, obwohl die Rückkehr String ist ("undefiniert").
Nach der Definition, jedoch ohne Operation oder undefinierte Eigenschaft eines Objekts, gehört es zu Undefined, die für den Betrieb verwendet werden können und als logischer Betrieb verwendet werden können.
Die zweite Art von Variable ist vollständig undefiniert und hat keinen Hintergrund (xa, obwohl x kein Attribut hat, aber X -Gesicht angibt) und nur als Fehlertyp verwendet werden kann, es sei denn, die Typ -OF -Funktion wird verwendet.
Die OR -Operation in JS gibt den BOOL -Wert nicht zurück, sondern gibt den von JS berechneten Wert auf den letzten Bedingungen auf beiden Seiten zurück. 2 == 1 A || 1 Melden Sie einen Fehler
var a;
Ich fand dieses Wörterbuch und übersetzt es
Undefiniert kann übersetzt werden in: unklar, das heißt, ich weiß nicht, was ich tun soll
Und nicht definiert kann in undefinierte übersetzt werden