Heim >Web-Frontend >Front-End-Fragen und Antworten >So ermitteln Sie, ob eine Funktion in Javascript vorhanden ist

So ermitteln Sie, ob eine Funktion in Javascript vorhanden ist

PHPz
PHPzOriginal
2023-04-21 09:08:093268Durchsuche

In JavaScript können Funktionen als Variablen übergeben und manipuliert werden. In der tatsächlichen Entwicklung müssen wir häufig feststellen, ob eine Funktion definiert wurde oder vorhanden ist, um unnötige Ausnahmen oder Fehler zu vermeiden.

Es gibt mehrere gängige Methoden, um festzustellen, ob eine JavaScript-Funktion vorhanden ist:

Typbestimmung

Der Typtyp-Operator in JavaScript wird verwendet, um den Typ eines Objekts zu bestimmen. Wenn das Objekt ein Funktionstyp ist, gibt es die Zeichenfolge „ zurück. Funktion“, andernfalls wird der entsprechende Typstring zurückgegeben. Daher können Sie den Operator „typeof“ verwenden, um festzustellen, ob eine Funktion bereits vorhanden ist. Zum Beispiel:

if(typeof myFunction === "function") {
  // myFunction 已经定义
} else {
  // myFunction 未定义
}

in-Operator-Beurteilung

Verwenden Sie den in-Operator, um zu beurteilen, ob ein Objekt ein bestimmtes Attribut (einschließlich einer Funktion) enthält. Daher können Sie feststellen, ob die Funktion definiert wurde, indem Sie feststellen, ob der Funktionsname im Objekt vorhanden ist. Zum Beispiel:

if("myFunction" in window) {
  // myFunction 已经定义
} else {
  // myFunction 未定义
}

Unter diesen ist das Fensterobjekt das globale Objekt des Browsers, einschließlich aller globalen Variablen und Funktionen.

Funktionskörper toString-Beurteilung

Das Funktionsobjekt in JavaScript verfügt über eine integrierte toString-Methode, mit der die Funktion in einen String konvertiert wird. Daher können Sie feststellen, ob die Funktion definiert wurde, indem Sie feststellen, ob die Funktionskörperzeichenfolge ein bestimmtes Schlüsselwort enthält. Zum Beispiel:

if(myFunction.toString().indexOf("function myFunction(") != -1) {
  // myFunction 已经定义
} else {
  // myFunction 未定义
}

try-catch-Urteil

Verwenden Sie die try-catch-Anweisung, um Ausnahmen abzufangen, die möglicherweise ausgelöst werden, wenn JavaScript ausgeführt wird. Daher können Sie den Funktionsaufruf in einem Try-Block platzieren. Wenn die Funktion vorhanden ist, wird sie normal ausgeführt. Andernfalls wird eine Ausnahme ausgelöst und vom Catch-Block abgefangen. Zum Beispiel:

try {
  myFunction();
  // myFunction 已经定义
} catch(e) {
  // myFunction 未定义
}

Es ist zu beachten, dass die Funktion, wenn sie existiert, aber während der Ausführung andere Ausnahmen ausgelöst werden, auch vom Catch-Block abgefangen wird. Daher muss diese Methode mit Vorsicht verwendet werden.

Zusammenfassend sind die oben genannten Methoden mehrere gängige Methoden, um festzustellen, ob eine JavaScript-Funktion vorhanden ist. In der tatsächlichen Entwicklung können Sie je nach Situation eine geeignete Methode auswählen, um festzustellen, ob die Funktion definiert wurde, um unnötige Fehler und Ausnahmen zu vermeiden.

Das obige ist der detaillierte Inhalt vonSo ermitteln Sie, ob eine Funktion in Javascript vorhanden ist. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

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