Was ist der beste Weg, um zu testen, ob eine Variable in JavaScript undefiniert ist? Ich habe mehrere mögliche Wege gesehen:
if (window.myVariable)
Oder
if (typeof(myVariable) != "undefined")
Oder
if (myVariable) //This throws an error if undefined. Should this be in Try/Catch?
Sie müssen typeof
verwenden.
if (typeof something != "undefined") {
// ...
}
Wenn sie undefiniert ist, ist sie nicht gleich einer Zeichenfolge, die die Zeichen "undefiniert" enthält, da die Zeichenfolge nicht undefiniert ist.
Sie können den Typ der Variablen überprüfen:
if (typeof(something) != "undefined") ...
Manchmal muss man nicht einmal den Typ prüfen. Wenn der Wert der Variablen beim Setzen nicht zu false ausgewertet werden kann (z.B. wenn es sich um eine Funktion handelt), dann kann man die Variable einfach auswerten. Beispiel:
if (something) {
something(param);
}
if (typeof foo == 'undefined') {
// Do something
};
Beachten Sie, dass ein strenger Vergleich (!==
) in diesem Fall nicht notwendig ist, da typeof
immer einen String zurückgibt.