2012-01-24 33 views

回答

0

從來沒有聽說過關於JavaScript的Function.prototype.caller,但有arguments.callee.caller,根據互聯網在Rhino中確實不受支持;

如果你需要得到的堆棧跟蹤,有一個爲解決一個想法: http://groups.google.com/group/mozilla.dev.tech.js-engine.rhino/browse_thread/thread/a8db6d5c4c729f0e/a5f717c02af610ea?pli=1

+0

'arguments.callee'只是給你對當前函數的引用 - 因此'arguments.callee.caller'是獲得'當前函數的調用者屬性。 –

+0

您可以通過JS錯誤的'stack'屬性獲取Rhino中的堆棧痕跡,無論如何,我認爲沒關係。 –

+0

'arguments.callee.caller'獲取父級作用域函數。 (函數foo(){返回(函數bar(){返回arguments.callee.caller.name)})()})() - > foo' – kirilloid