Maison >interface Web >js tutoriel >Comment puis-je identifier de manière fiable la fonction de l'appelant en JavaScript ?
Identification de la fonction appelante en JavaScript
En JavaScript, la propriété caller d'une fonction permet de récupérer le nom de la fonction qui l'a appelée . Cependant, cette propriété est considérée comme obsolète et n'est plus recommandée.
function main() { Hello(); } function Hello() { // How do you find out the caller function is 'main'? }
Trouver la pile d'appels
Pour déterminer la pile d'appels, vous pouvez utiliser arguments.callee .caller.toString(), mais ceci est également obsolète. Notez que cette solution n'est pas standard et peut ne pas fonctionner dans tous les navigateurs ou implémentations JavaScript.
Solution obsolète
function Hello() { alert(`caller is ${arguments.callee.caller.toString()}`); }
Solution moderne
Une solution plus moderne consiste à utiliser de nouveaux Error().stack.
function Hello() { console.log(new Error().stack); }
Cela affichera la trace de la pile, qui inclut le nom de la fonction appelante.
Remarque importante :
La propriété caller et arguments.callee.caller.toString() sont obsolètes et ne doivent pas être utilisées pour le code de production. Utilisez toujours la nouvelle solution Error().stack pour obtenir la pile d'appels.
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!