この記事では、関数コールスタックを表示するJavaScript実装方法について説明します。次のように、参照のために共有してください。
多くの大規模なJavaScriptアプリケーション間の関数呼び出し関係は非常に複雑です。開発またはデバッグプロセス中に、実行がトリガーされる前に関数を呼び出す関数を追跡する必要があることがよくあります。コードのデータフローを理解するには、これらの機能の呼び出し順序を理解することが非常に重要です。
FireBugは、console.trace()を提供して、関数スタックを表示します。デバッグが必要な場所に次のコード行を追加すると、関数が呼び出されたときにコンテキスト関係を表示できます。 IE6はそれほど便利ではありません。関数スタックを表示するツールは提供されません。 IE6でコードをデバッグすることが避けられない場合は、次のコードを使用して関数スタックを表示します(次のJavaScriptコードをConsole.trace.jsとして保存することをお勧めします。
JavaScriptコードは次のとおりです。
/*** function name ** @param {function} func function reference*@return {string} function name*/function getFunctionName(func){if(typeof func == 'function' || typeof func == 'object'){var name =( '' + func).match(/s*(/w/$]*); name [1];} if(!( 'console' in window)){window.console = {};} if(!console.trace){ /** * show function stack <br/> * firebugを統合するには、コンソールオブジェクトにトレースメソッドを追加します * * @param {funcperfunce referience * * @examplefuntiction a() {c();} {d();} console.trace();} a(); alert( 'functions on stack:' + '/n' + stack.join( '/n'))}};JavaScript関連のコンテンツの詳細については、このサイトのトピックをご覧ください:「JavaScriptの切り替え効果とテクニックの要約」、「JavaScript検索アルゴリズムスキルの要約」、「JavaScriptアニメーション効果とテクニックの概要」、「Javascriptエラー、および「Javascriptデータ構造」の概要」の概要の要約の要約をご覧ください。 JavaScriptトラバーサルアルゴリズムとテクニック」、および「JavaScriptの数学的操作の使用法の要約」
この記事がみんなのJavaScriptプログラミングに役立つことを願っています。