Maison  >  Article  >  interface Web  >  Comment obtenir le nom de la fonction actuellement en cours d'exécution en JavaScript ?

Comment obtenir le nom de la fonction actuellement en cours d'exécution en JavaScript ?

Mary-Kate Olsen
Mary-Kate Olsenoriginal
2024-10-21 15:27:03516parcourir

How to Get the Name of the Currently Running Function in JavaScript?

Obtention du nom de la fonction actuellement en cours d'exécution en JavaScript

En JavaScript, vous pouvez rencontrer des situations dans lesquelles vous avez besoin d'accéder au nom de la fonction fonction en cours d'exécution. Bien que ce ne soit pas un scénario courant, certains cas d'utilisation peuvent nécessiter ces informations.

Arguments.callee

Dans les versions JavaScript antérieures à ES5, les arguments La propriété .callee fournissait un moyen de récupérer la fonction active. Cependant, il est important de noter que cette propriété a été dépréciée au profit d'alternatives plus sûres. L'utilisation de arguments.callee peut entraîner un comportement inattendu ou même des erreurs dans les environnements JavaScript modernes.

Nom de la fonction d'analyse

Si vous devez obtenir le nom de la fonction, vous pouvez le faire en analysant la sortie arguments.callee.toString(). Cependant, sachez que la chaîne renvoyée inclut des informations supplémentaires telles que des accolades et des parenthèses. Pour extraire le nom de la fonction, vous devez effectuer une analyse.

Par exemple :

<code class="js">function DisplayMyName() {
  var myName = arguments.callee.toString();
  myName = myName.substr('function '.length);
  myName = myName.substr(0, myName.indexOf('('));

  alert(myName);
}</code>

Dans ES5 et versions ultérieures, la propriété arguments.callee a été complètement supprimée, éliminant ainsi la possibilité de accéder directement au nom de la fonction actuelle. Par conséquent, il est recommandé d'éviter de s'appuyer sur cette fonctionnalité dans les pratiques de développement modernes.

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