一个一般性的问题,但有问题的代码是这样的:有没有办法在javascript中动态查看调用堆栈?
有被抛出一个错误例程 - 处理产生的异常:
MyObj.prototype.err = function(msg) { ... throw(msg); }
这么扔,
if(mybad) this.err('my message');
想根据函数是否在调用堆栈中,err()的行为有所不同。
例如,可以是
funcA() -> func2() -> func3() -> err()
与
funcB() -> func3() -> err()
如果FuncA的行是上游,想以提醒用户和停止;而如果funcB想将消息写入控制台并继续。
实现其他的方式来解决问题,但恕我直言运气不好创建(和维护),可以从环境中推断
+1分享您的体验:“运气不佳(可以推导出)并且可以推导出状态空间” – 2011-03-13 11:15:20
[这里](http://eriwen.com/javascript/stacktrace-update/)是一篇有趣的博文。然而,因为我同意你的最后一句话,这看起来像是一种“不幸运”的方式,而且肯定会很慢。 – Pointy 2011-03-13 11:16:53