JavaScript での呼び出し元関数の識別
JavaScript では、関数の caller プロパティを使用して、それを呼び出した関数の名前を取得できます。 。ただし、このプロパティは非推奨とみなされ、推奨されなくなりました。
function main() { Hello(); } function Hello() { // How do you find out the caller function is 'main'? }
コール スタックの検索
コール スタックを確認するには、arguments.callee を使用できます。 .caller.toString() ですが、これも非推奨です。このソリューションは非標準であり、すべてのブラウザまたは JavaScript 実装で機能するとは限らないことに注意してください。
非推奨のソリューション
function Hello() { alert(`caller is ${arguments.callee.caller.toString()}`); }
最新のソリューション
より現代的な解決策は、新しいものを使用することです。 Error().stack.
function Hello() { console.log(new Error().stack); }
これにより、呼び出し元関数の名前を含むスタック トレースが出力されます。
重要な注意事項:
caller プロパティと argument.callee.caller.toString() は非推奨であるため、運用コードでは使用しないでください。コールスタックを取得するには、常に新しい Error().stack ソリューションを使用してください。
以上がJavaScript で呼び出し元関数を確実に識別するにはどうすればよいですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。