it-swarm.com.de

Wie kann ich feststellen, ob eine JavaScript-Variable in einer Seite definiert ist?

Wie kann ich in JavaScript überprüfen, ob eine Variable in einer Seite definiert ist? Angenommen, ich möchte überprüfen, ob eine Variable mit dem Namen "x" in einer Seite definiert ist. Wenn ich if(x != null) tue, wird ein Fehler ausgegeben.

111
SSharma

Ich habe es funktioniert mit if (typeof(x) != "undefined")

157
SSharma

Um eine versehentliche Zuordnung zu vermeiden, mache ich es mir zur Gewohnheit, die Reihenfolge des bedingten Ausdrucks umzukehren:

if ('undefined' !== typeof x) {
48
Andrew Hedges

Der Operator typeof löst im Gegensatz zu den anderen Operatoren keine ReferenceError-Ausnahme aus, wenn er mit einem nicht deklarierten Symbol verwendet wird.

if (typeof a != "undefined") {
    a();
}
22
Pablo Cabrera

Wie bereits erwähnt, kann der Operator typeof sogar eine nicht deklarierte Kennung auswerten, ohne einen Fehler auszulösen.

alert (typeof sdgfsdgsd);

Wird "undefined" anzeigen, wo sowas ist

alert (sdgfsdgsd);

wirft einen ReferenceError.

1
Dagg Nabbit

Das können Sie tun mit:

if (window.x! == undefined) {// Sie codieren hier}

Unter der Annahme, dass Ihre Funktion oder Variable im typischen "globalen" ( see: window 's) Bereich definiert ist, bevorzuge ich:

if (window.a != null) {
   a();
}

oder sogar das Folgende, wenn Sie die Existenz einer Funktion überprüfen:

if (window.a) a();
0
kamens