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>
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>
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!