function main() { Hello(); } function Hello() { // How do you find out the caller function is 'main'? }
有没有办法找出调用堆栈?
function Hello() { alert("caller is " + Hello.caller); }
请注意,此功能是 非标准的 ,来自Function.caller:
Function.caller
非标准 此功能是非标准的,不在标准范围内。不要在面向Web的生产站点上使用它:它不适用于每个用户。实现之间也可能存在很大的不兼容性,并且将来的行为可能会更改。
以下是2008年的旧答案,现代Javascript不再支持该答案:
function Hello() { alert("caller is " + arguments.callee.caller.toString()); }