Maison interface Web js tutoriel Méthode d'implémentation JavaScript pour afficher les compétences d'appel de fonction stack_javascript

Méthode d'implémentation JavaScript pour afficher les compétences d'appel de fonction stack_javascript

May 16, 2016 pm 03:04 PM
javascript 函数调用 堆栈 显示

本文实例讲述了JavaScript实现显示函数调用堆栈的方法。分享给大家供大家参考,具体如下:

许多大型的JavaScript应用程序间的函数调用关系是非常复杂的,在开发或者调试过程中,经常需要跟踪某个函数是由哪些函数调用后才触发执行的,弄清楚这些函数的调用顺序对我们理解代码的数据流向是非常重要的。

Firebug提供了console.trace()来显示函数堆栈,在需要调试的地方加上下面的一行代码就能显示该函数调用时的上下文关系。IE6就没有这么方便了,它没有提供显示函数堆栈的工具,当不可避免的需要在IE6下调试代码时,使用下面的代码能够显示函数堆栈(建议将下面的JavaScript代码保存为console.trace.js,通过外部引入js的方式引用到页面):

JAVASCRIPT代码如下:

/**
* 获取函数名称
*
* @param {Function} func 函数引用
* @return {String} 函数名称
*/
function getFunctionName(func) {
  if ( typeof func == 'function' || typeof func == 'object' ) {
    var name = ('' + func).match(/function\s*([\w\$]*)\s*\(/);
  }
  return name && name[1];
}
if (!('console' in window)) {
  window.console = {};
}
if (!console.trace) {
  /**
   * 显示函数堆栈<br/>
   * 为了和Firebug统一,将trace方法添加到console对象中
   *
   * @param {Function} func 函数引用
   *
   * @example
function a() {
b();
}
function b() {
c();
}
function c() {
d();
}
function d() {
console.trace();
}
a();
   */
  console.trace = function() {
    var stack = [],
      caller = arguments.callee.caller;
    while (caller) {
      stack.unshift(getFunctionName(caller));
      caller = caller && caller.caller;
    }
    alert('functions on stack:' + '\n' + stack.join('\n'));
  }
};

Copier après la connexion

更多关于JavaScript相关内容感兴趣的读者可查看本站专题:《JavaScript切换特效与技巧总结》、《JavaScript查找算法技巧总结》、《JavaScript动画特效与技巧汇总》、《JavaScript错误与调试技巧总结》、《JavaScript数据结构与算法技巧总结》、《JavaScript遍历算法与技巧总结》及《JavaScript数学运算用法总结

希望本文所述对大家JavaScript程序设计有所帮助。

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

Outils d'IA chauds

Undresser.AI Undress

Undresser.AI Undress

Application basée sur l'IA pour créer des photos de nu réalistes

AI Clothes Remover

AI Clothes Remover

Outil d'IA en ligne pour supprimer les vêtements des photos.

Undress AI Tool

Undress AI Tool

Images de déshabillage gratuites

Clothoff.io

Clothoff.io

Dissolvant de vêtements AI

AI Hentai Generator

AI Hentai Generator

Générez AI Hentai gratuitement.

Article chaud

R.E.P.O. Crystals d'énergie expliqués et ce qu'ils font (cristal jaune)
2 Il y a quelques semaines By 尊渡假赌尊渡假赌尊渡假赌
R.E.P.O. Meilleurs paramètres graphiques
2 Il y a quelques semaines By 尊渡假赌尊渡假赌尊渡假赌

Outils chauds

Bloc-notes++7.3.1

Bloc-notes++7.3.1

Éditeur de code facile à utiliser et gratuit

SublimeText3 version chinoise

SublimeText3 version chinoise

Version chinoise, très simple à utiliser

Envoyer Studio 13.0.1

Envoyer Studio 13.0.1

Puissant environnement de développement intégré PHP

Dreamweaver CS6

Dreamweaver CS6

Outils de développement Web visuel

SublimeText3 version Mac

SublimeText3 version Mac

Logiciel d'édition de code au niveau de Dieu (SublimeText3)

Raisons et solutions pour le verrouillage de la disposition du bureau Raisons et solutions pour le verrouillage de la disposition du bureau Feb 19, 2024 pm 06:08 PM

Que se passe-t-il lorsque la disposition du bureau est verrouillée ? Lors de l'utilisation de l'ordinateur, nous pouvons parfois rencontrer une situation dans laquelle la disposition du bureau est verrouillée. Ce problème signifie que nous ne pouvons pas ajuster librement la position des icônes du bureau ou modifier l'arrière-plan du bureau. Alors, que se passe-t-il exactement lorsqu'il est indiqué que la disposition du bureau est verrouillée ? 1. Comprendre la disposition du bureau et les fonctions de verrouillage. Tout d’abord, nous devons comprendre les deux concepts de disposition du bureau et de verrouillage du bureau. La disposition du bureau fait référence à la disposition de divers éléments sur le bureau, notamment les raccourcis, les dossiers, les widgets, etc. nous pouvons être libres

Optimisation des performances des appels de fonction C++ : impact du passage des paramètres et des valeurs de retour Optimisation des performances des appels de fonction C++ : impact du passage des paramètres et des valeurs de retour May 04, 2024 pm 12:57 PM

L'optimisation des performances des appels de fonction C++ comprend deux aspects : la stratégie de transmission des paramètres et l'optimisation du type de valeur de retour. En termes de passage de paramètres, le passage de valeurs convient aux petits objets et aux paramètres non modifiables, tandis que le passage de références ou de pointeurs convient aux gros objets et aux paramètres modifiables, et le passage de pointeurs est le plus rapide. En termes d'optimisation des valeurs de retour, les petites valeurs peuvent être renvoyées directement et les gros objets doivent renvoyer des références ou des pointeurs. Choisir la stratégie appropriée peut améliorer les performances des appels de fonction.

Comment appeler des fonctions dans différents modules en C++ ? Comment appeler des fonctions dans différents modules en C++ ? Apr 12, 2024 pm 03:54 PM

Appel de fonctions entre modules en C++ : Déclarez la fonction : Déclarez la fonction à appeler dans le fichier d'en-tête du module cible. Implémenter la fonction : implémentez la fonction dans le fichier source. Liaison de modules : utilisez un éditeur de liens pour relier entre eux des modules contenant des déclarations et des implémentations de fonctions. Appeler la fonction : incluez le fichier d'en-tête du module cible dans le module qui doit être appelé, puis appelez la fonction.

Comment afficher le code QR du mot de passe wifi ? Il est recommandé de scanner le mot de passe wifi sur WeChat en 3 secondes. Comment afficher le code QR du mot de passe wifi ? Il est recommandé de scanner le mot de passe wifi sur WeChat en 3 secondes. Feb 20, 2024 pm 01:42 PM

Vous n'avez pas besoin de saisir souvent le mot de passe WIFI, il est donc normal de l'oublier. Aujourd'hui, je vais vous apprendre la manière la plus simple de trouver le mot de passe de votre propre WIFI. Cela peut être fait en 3 secondes. Pour vérifier le mot de passe WIFI, utilisez WeChat pour le scanner. Le principe de cette méthode est le suivant : il doit y avoir un téléphone mobile pouvant se connecter au WIFI. Bon, commençons le didacticiel : Étape 1. Nous entrons dans le téléphone, descendons du haut du téléphone, faisons apparaître la barre d'état et l'icône WIFI. Étape 2. Appuyez longuement sur l'icône WIFI pour accéder aux paramètres WLAN ; appuyez sur l'icône WIFI. Étape 3. Cliquez sur Connecté. Entrez le nom WIFI de votre maison, cliquez sur Partager le mot de passe et un code QR apparaîtra ; Étape 4 du partage du mot de passe WIFI, nous prenons une capture d'écran et enregistrons ce code QR ; , appuyez longuement sur l'icône WeChat sur le bureau et cliquez sur Scan

Technologie de réflexion des appels de fonction C++ : passage de paramètres et accès dynamique aux valeurs de retour Technologie de réflexion des appels de fonction C++ : passage de paramètres et accès dynamique aux valeurs de retour May 05, 2024 am 09:48 AM

La technologie de réflexion des appels de fonction C++ permet d'obtenir dynamiquement les paramètres de fonction et les informations sur la valeur de retour au moment de l'exécution. Utilisez les expressions typeid(decltype(...)) et decltype(...) pour obtenir des informations sur les paramètres et les types de valeurs renvoyées. Grâce à la réflexion, nous pouvons appeler dynamiquement des fonctions et sélectionner des fonctions spécifiques en fonction des entrées d'exécution, permettant ainsi un code flexible et évolutif.

Samsung fournira des écrans pour les casques MR de Microsoft, et les appareils devraient être plus légers et avoir des écrans plus clairs Samsung fournira des écrans pour les casques MR de Microsoft, et les appareils devraient être plus légers et avoir des écrans plus clairs Aug 10, 2024 pm 09:45 PM

Récemment, Samsung Display et Microsoft ont signé un important accord de coopération. Selon l'accord, Samsung Display développera et fournira des centaines de milliers de panneaux OLEDoS pour les visiocasques de réalité mixte (MR) à Microsoft. Microsoft développe un appareil MR pour le contenu multimédia tel que les jeux et les films. Il sera lancé une fois les spécifications OLEDoS finalisées, destiné principalement au domaine commercial, et devrait être livré dès 2026. Technologie OLEDoS (OLED sur silicium) OLEDoS est une nouvelle technologie d'affichage qui dépose des OLED sur un substrat de silicium. Par rapport aux substrats en verre traditionnels, elle est plus fine et comporte des pixels plus élevés. Écran OLEDoS et affichage ordinaire

Comment vérifier le répertoire actuel sous Linux ? Comment vérifier le répertoire actuel sous Linux ? Feb 23, 2024 pm 05:54 PM

Sur les systèmes Linux, vous pouvez utiliser la commande pwd pour afficher le chemin actuel. La commande pwd est l'abréviation de PrintWorkingDirectory et est utilisée pour afficher le chemin du répertoire de travail actuel. Entrez la commande suivante dans le terminal pour afficher le chemin actuel : pwd Après avoir exécuté cette commande, le terminal affichera le chemin complet du répertoire de travail actuel, tel que : /home/user/Documents. De plus, vous pouvez utiliser d'autres options pour améliorer les fonctionnalités de la commande pwd. Par exemple, l'option -P peut afficher.

Explorez les différentes manières d'appeler des fonctions PHP Explorez les différentes manières d'appeler des fonctions PHP Apr 16, 2024 pm 02:03 PM

Il existe cinq façons d'appeler des fonctions PHP : appel direct, appel via variable, fonction anonyme, pointeur de fonction et réflexion. En choisissant la méthode la mieux adaptée à la situation, vous pouvez optimiser les performances et améliorer la simplicité du code.

See all articles