Maison  >  Article  >  interface Web  >  Comment déterminer le nom de la fonction actuelle en JavaScript ?

Comment déterminer le nom de la fonction actuelle en JavaScript ?

Susan Sarandon
Susan Sarandonoriginal
2024-10-21 15:32:02893parcourir

How to Determine the Name of the Current Function in JavaScript?

Détermination du nom de la fonction actuelle en JavaScript

En JavaScript, accéder au nom de la fonction en cours d'exécution est une exigence courante pour le débogage et la gestion des erreurs. Comprendre comment y parvenir peut être bénéfique dans divers scénarios de programmation.

Cependant, dans ES5 et les versions ultérieures de JavaScript, l'accès direct au nom de la fonction n'est pas disponible. Cela signifie que les fonctions telles que arguments.callee et arguments.callee.name ne sont plus prises en charge.

Dans les anciennes versions de JavaScript (pré-ES5), il était possible d'obtenir le nom de la fonction à l'aide d'arguments. appelé comme indiqué ci-dessous :

<code class="js">function myFunc() {
  console.log(arguments.callee.name); // "myFunc"
}</code>

Cependant, dans ES5 et versions ultérieures, arguments.callee n'est plus considéré comme un moyen fiable ou standard de récupérer le nom de la fonction. Il est recommandé d'éviter son utilisation dans le code JavaScript moderne.

Analyse du nom de la fonction

Dans les anciennes versions de JavaScript où arguments.callee est disponible, vous devrez peut-être analyser le nom de la fonction car il peut inclure des informations supplémentaires :

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

  console.log(funcName); // "myFunc"
}</code>

Bien que cette méthode puisse être efficace dans certaines implémentations, il est important de noter qu'elle repose sur des détails spécifiques à l'implémentation et peut ne pas fonctionner de manière cohérente dans toutes cas.

Résumé

Dans JavaScript moderne (ES5 et supérieur), il n'est pas recommandé de s'appuyer sur l'accès dynamique au nom de la fonction. Cependant, dans les anciennes versions de JavaScript, l'approche arguments.callee peut être utilisée avec prudence, en comprenant ses limites potentielles.

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