Maison > interface Web > js tutoriel > le corps du texte

Comment déterminer les détails de la fonction appelante en JavaScript ?

Linda Hamilton
Libérer: 2024-10-20 21:53:02
original
238 Les gens l'ont consulté

How to Determine the Details of the Caller Function in 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>
Copier après la connexion

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>
Copier après la connexion

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!

source:php
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
À propos de nous Clause de non-responsabilité Sitemap
Site Web PHP chinois:Formation PHP en ligne sur le bien-être public,Aidez les apprenants PHP à grandir rapidement!