【问题标题】:Why is the invocation of a named function considered anonymous in chrome dev tools?为什么在 chrome 开发工具中调用命名函数被认为是匿名的?
【发布时间】:2015-08-10 04:02:42
【问题描述】:

我有一个叫做 doStuff 的函数 功能doStuff(道具){ 控制台日志(道具) } 我像这样调用函数: doStuff('boop');

问题:为什么 chrome 开发工具会考虑 doStuff('boop') 调用 line 4(anonymous function)

【问题讨论】:

  • 调用 (doStuff('boop')) 不是来自匿名函数吗?
  • 我从未在 script.js 中插入换行括号?你是在告诉我浏览器可以吗?
  • 不,如果你从顶部调用它,那么没有调用者,所以开发工具将它视为一个匿名函数。
  • 从“顶部”看是什么意思?
  • "the top" 这里是浏览器加载完脚本后的执行过程。

标签: javascript google-chrome-devtools


【解决方案1】:

来自https://developer.chrome.com/devtools/docs/javascript-debugging#call-stack-panel

调用堆栈面板显示完整的执行路径,导致 代码暂停的地方

所以你得到的“(anonymous function)”指的是函数的调用者。

在您的示例中,您从“顶部”执行过程中调用它,该过程在浏览器完成加载脚本时发生。因此,没有调用者,devTools 然后将其视为anonymous function 调用。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2014-06-30
    • 2018-01-31
    • 1970-01-01
    • 2010-11-11
    相关资源
    最近更新 更多