Maison >interface Web >js tutoriel >Comment puis-je découvrir la fonction appelant en JavaScript ?

Comment puis-je découvrir la fonction appelant en JavaScript ?

Barbara Streisand
Barbara Streisandoriginal
2024-12-23 08:28:29957parcourir

How Can I Discover the Caller Function in JavaScript?

Découverte de la fonction appelante en JavaScript

Lorsque vous travaillez avec des appels de fonction imbriqués, il peut être utile d'identifier la fonction appelante à des fins de débogage et à d'autres fins.

Trouver la fonction appelant

JavaScript fournit une propriété obsolète appelée caller, qui contient une référence à la fonction qui a invoqué la fonction actuelle. Cependant, cette propriété a été déconseillée en raison de problèmes de sécurité et son utilisation n'est plus recommandée.

function Hello() {
  alert("caller is " + Hello.caller); // Deprecated
}

Option non standard

Une approche alternative et non standard consiste à utiliser l'objet arguments , qui fournit un tableau d'arguments transmis à la fonction. La fonction appelant est accessible via la propriété callee.caller du deuxième argument (à l'index 1).

function Hello() {
  alert("caller is " + arguments.callee.caller.toString()); // Non-standard
}

Call Stack

JavaScript ne fournit pas de méthode intégrée pour récupérer la pile d’appels. Cependant, en utilisant des bibliothèques externes telles que debug, il est possible d'obtenir des informations détaillées sur la trace de la pile. Cela peut être utile pour déboguer du code complexe et identifier les séquences d'appels de fonction.

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