如何使用console.log打印出一段代码是如何调用的? [复制]

Posted

技术标签:

【中文标题】如何使用console.log打印出一段代码是如何调用的? [复制]【英文标题】:How to use console.log to print out how which function called a piece of code? [duplicate] 【发布时间】:2012-10-26 22:52:43 【问题描述】:

可能重复:How do you find out the caller function in javascript?

如果我将console.log() 放入一个函数中,我可以在console.log() 语句中放入什么来找出调用该函数的位置吗?或者有没有其他方法可以找出函数是如何被调用的?

我正在尝试理解一段相对复杂(对我的经验而言很复杂)的代码,但很难弄清楚是什么调用了某个函数。谢谢。

【问题讨论】:

你看过分析器吗? 【参考方案1】:

也许您正在寻找console.trace()?它打印出堆栈跟踪。

这是函数上的Firebug documentation (which is also supported in Webkit):

只需调用console.trace(),Firebug 就会写出非常丰富的信息 堆栈跟踪到控制台。它不仅会告诉你哪些功能 在堆栈上,但它将包括每个参数的值 被传递给每个函数。您可以单击功能或对象 进一步检查它们。

【讨论】:

【参考方案2】:

像这样使用它

console.log(arguments.callee.caller.toString())

【讨论】:

arguments.callee 在严格模式下抛出错误,并被视为已弃用。不要再用了

以上是关于如何使用console.log打印出一段代码是如何调用的? [复制]的主要内容,如果未能解决你的问题,请参考以下文章

打印对象时,console.log 如何确定要打印的属性?

如何覆盖 console.log

如何console.log多个对象?

如何在函数中包装一段代码? [关闭]

如何在 console.log 中打印 JSON 数据?

javascript如何去除对象的某个属性