Accès aux noms de fonctions en eux-mêmes : une exploration complète
En JavaScript, accéder au nom d'une fonction depuis la fonction elle-même peut être un outil précieux pour le débogage, l'introspection et divers scénarios. Voici un aperçu détaillé des techniques pour y parvenir :
ES6 : une solution simple
Avec l'introduction d'ES6, accéder au nom d'une fonction est devenu trivial. Utilisez simplement la propriété myFunction.name pour récupérer le nom de la fonction. Cette méthode est simple et fiable.
ES5 : Utilisation de Function.toString()
Dans ES5, il n'existe aucun moyen direct d'accéder au nom d'une fonction. Cependant, vous pouvez exploiter la méthode Function.toString() pour l'extraire. Voici un exemple de fonction qui effectue cette tâche :
<code class="javascript">function functionName(fun) { var ret = fun.toString(); ret = ret.substr('function '.length); ret = ret.substr(0, ret.indexOf('(')); return ret; }</code>
Cette fonction analyse la sortie toString() de la fonction pour isoler le nom entre le préfixe "function" et la première parenthèse ouvrante.
Éviter Function.caller et arguments.callee
Il est important de noter que l'utilisation de Function.caller ou arguments.callee n'est pas recommandée car elles ne sont pas standard et déconseillées en mode strict. Ces propriétés peuvent fournir des résultats peu fiables ou conduire à un comportement inattendu.
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!