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:
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 未定义 }
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.
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 未定义 }
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!