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
Libérer: 2023-04-21 09:35:12
original
3270 Les gens l'ont consulté

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 未定义
}
Copier après la connexion

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 未定义
}
Copier après la connexion

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 未定义
}
Copier après la connexion

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 未定义
}
Copier après la connexion

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!

source:php.cn
Déclaration de ce site Web
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
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal