JavaScript で呼び出し元関数を見つけるにはどうすればいいですか? 質問する

JavaScript で呼び出し元関数を見つけるにはどうすればいいですか? 質問する
function main()
{
   Hello();
}

function Hello()
{
  // How do you find out the caller function is 'main'?
}

コールスタックを確認する方法はありますか?

ベストアンサー1

このソリューションは非推奨であり、MDNドキュメントによれば使用すべきではないことに注意してください。

https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Function/caller


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

この機能は非標準であることに注意してください。Function.caller:

非標準
この機能は非標準であり、標準化されていません。Web 向けの実稼働サイトでは使用しないでください。すべてのユーザーに対して機能するわけではありません。実装間に大きな非互換性がある可能性があり、動作は将来変更される可能性があります。


以下は 2008 年の古い回答であり、最新の JavaScript ではサポートされなくなりました。

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

おすすめ記事