Maison >interface Web >js tutoriel >Comment déterminer les détails de la fonction appelante en JavaScript ?
Découverte des détails de la fonction de l'appelant en JavaScript
Déterminer l'origine d'un appel de fonction peut fournir des informations précieuses pour le débogage et l'analyse. Cet article explique comment obtenir le numéro de ligne et l'URL source de la fonction de l'appelant en JavaScript.
Obtention du numéro de ligne de l'appelant
Le code fourni récupère efficacement le nom de la fonction appelante à l’aide de l’objet arguments.callee.caller. Toutefois, l’obtention du numéro de ligne nécessite une approche différente. Une méthode consiste à utiliser l'objet Error :
<code class="js">function getErrorObject() { try { throw Error(''); } catch (err) { return err; } } var err = getErrorObject(); var caller_line = err.stack.split("\n")[4]; var index = caller_line.indexOf("at "); var clean = caller_line.slice(index + 2, caller_line.length);</code>
La propriété stack de l'objet Error contient une trace de pile qui inclut les numéros de ligne et les URL sources des appels de fonction qui ont conduit à l'erreur. En analysant cette chaîne, vous pouvez extraire le numéro de ligne de la fonction appelante.
Récupération de l'URL source de l'appelant
De même, l'URL source peut être acquise à partir de la pile propriété de l'objet Error :
<code class="js">var caller_url = err.stack.split("\n")[4]; var index = caller_url.indexOf("("); var clean = caller_url.slice(index + 1, caller_url.length - 1);</code>
La partie de la trace de pile entre parenthèses contient l'URL source de la fonction appelante.
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!