Maison > interface Web > js tutoriel > Comment obtenir dynamiquement le nom de la fonction actuelle en JavaScript ?

Comment obtenir dynamiquement le nom de la fonction actuelle en JavaScript ?

Susan Sarandon
Libérer: 2024-10-21 15:27:30
original
727 Les gens l'ont consulté

How to Dynamically Get the Name of the Current Function in JavaScript?

Obtention du nom de la fonction actuelle en JavaScript

Pouvez-vous accéder dynamiquement au nom de la fonction en cours d'exécution en JavaScript ?

Description du problème

Considérons l'exemple suivant :

<code class="javascript">myfile.js:

function foo() {
    alert(<my-function-name>);
    // pops-up "foo"
    // or even better: "myfile.js : foo"
}</code>
Copier après la connexion

Le but est de récupérer le nom de la fonction et éventuellement son emplacement complet (filename:function-name ). Est-ce réalisable ?

Solution

Dans ES5 et versions ultérieures : Malheureusement, il n'existe aucun mécanisme intégré pour obtenir le nom de la fonction dans ES5 et versions ultérieures.

Dans les anciennes versions de JavaScript : Dans les versions antérieures de JavaScript, il était possible d'accéder au nom de la fonction à l'aide de arguments.callee. Cependant, cette approche peut nécessiter une analyse car la valeur renvoyée peut inclure des informations superflues.

Approche d'analyse :

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

    alert(myName);
}</code>
Copier après la connexion

Source : [ Javascript - obtenir le nom de la fonction actuelle](https://stackoverflow.com/questions/4267180/javascript-get-current-function-name)

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 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
Derniers articles par auteur
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal