Frage

Ich prüfe, ob JavaScript -Elemente viel vorhanden sind:

if (typeof elem == "undefined")
  // Do something

Ich möchte eine Funktion erstellen, damit ich die Code -Wiederholung reduzieren kann.

if (exists(elem))

Hier ist die Funktion, die ich erstellt habe:

if (typeof exists == 'undefined') {
    function exists (e)
    {
        if (typeof e == "undefined")
            return false;
        return true;
    }
}

Das Problem ist, dass die Variable nicht definiert ist, bevor sie die Funktion durchläuft. Es generiert einen JavaScript -Fehler. Wie erstelle ich eine Funktion, um damit umzugehen?

War es hilfreich?

Lösung

"Das Problem ist, dass die Variable nicht definiert ist, bevor sie die Funktion durchläuft. Es generiert einen JavaScript -Fehler."

Durch "nicht definiert", Ich nehme an, du meinst du "Nicht deklariert", und verursacht a ReferenceError.

In diesem Fall müssten Sie prüfen, ob es vorhanden ist, bevor Sie sie an die Funktion übergeben, was die Funktion eher sinnlos macht.

Anstatt zu versuchen, eine Funktion zu erstellen, um nicht deklarierte Variablen zu testen, deklarieren Sie sie einfach, bevor Sie sie verwenden.

IMO, typeof x === 'undefined' ist ein hässlicher Hack, der nicht notwendig sein sollte. Sie sollten die berücksichtigen ReferenceError Ein Freund zu sein, der dir etwas sagt, muss repariert werden. Das typeof Hack verhindert, dass Ihr Freund Ihnen sagt, was los ist.

Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top