Maison >interface Web >Questions et réponses frontales >Comment déterminer si une fonction existe en javascript

Comment déterminer si une fonction existe en javascript

PHPz
PHPzoriginal
2023-04-21 09:08:093267parcourir

En JavaScript, les fonctions peuvent être transmises et manipulées en tant que variables. Dans le développement réel, nous devons souvent déterminer si une fonction a été définie ou existe pour éviter des exceptions ou des erreurs inutiles.

Voici plusieurs façons courantes de déterminer si une fonction JavaScript existe :

typeof détermination

L'opérateur typeof en JavaScript est utilisé pour déterminer le type d'un objet. Si l'objet est un type de fonction, il renvoie la chaîne ". fonction ", sinon la chaîne de type correspondante est renvoyée. Par conséquent, vous pouvez utiliser l’opérateur typeof pour déterminer si une fonction existe déjà. Par exemple :

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

in jugement de l'opérateur

Utilisez l'opérateur in pour juger si un objet contient un certain attribut (y compris une fonction). Par conséquent, vous pouvez déterminer si la fonction a été définie en déterminant si le nom de la fonction existe dans l'objet. Par exemple :

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

Parmi eux, l'objet window est l'objet global du navigateur, incluant toutes les variables et fonctions globales.

Corps de fonction toString jugement

L'objet fonction en JavaScript a une méthode toString intégrée, qui est utilisée pour convertir la fonction en chaîne. Par conséquent, vous pouvez déterminer si la fonction a été définie en déterminant si la chaîne du corps de la fonction contient un certain mot-clé. Par exemple :

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

try-catch juger

Utilisez l'instruction try-catch pour intercepter les exceptions qui peuvent être levées lorsque JavaScript est en cours d'exécution. Par conséquent, vous pouvez placer l'appel de fonction dans un bloc try. Si la fonction existe, elle sera exécutée normalement ; sinon, une exception sera levée et interceptée par le bloc catch. Par exemple :

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

Il convient de noter que si la fonction existe mais que d'autres exceptions sont levées lors de l'exécution, elle sera également interceptée par le bloc catch, vous devez donc utiliser cette méthode avec prudence.

Pour résumer, voici quelques moyens courants de déterminer si une fonction JavaScript existe. Dans le développement réel, vous pouvez choisir une méthode appropriée en fonction de la situation spécifique pour déterminer si la fonction a été définie, afin d'éviter les erreurs et exceptions inutiles.

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

Déclaration:
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn