【问题标题】:Chrome appears to report wrong line for errorChrome 似乎报告了错误的错误行
【发布时间】:2014-09-02 14:57:07
【问题描述】:

我在第 975 行遇到错误(这是控制台报告的内容),但是当我查看代码时,它显然不是 975。

无法读取未定义的属性 E:

这是一个截图:

这是显示...差异的屏幕截图

【问题讨论】:

  • 实际的错误行是什么?
  • 抱歉,我可能不清楚:您认为实际的错误行应该是什么? (试图了解您认为应该是什么+为什么和控制台报告的内容之间的差异):)
  • 所以你想让我自己验证谷歌的失败?然后呢?
  • 可能该错误与之前的this.E.xxx 引用之一有关,它是代码中唯一的E。所以不知何故 this 变得未定义。
  • 您是否使用调试器的{} 工具重新格式化代码?也许这会混淆行号。

标签: javascript google-chrome debugging


【解决方案1】:

Chrome 可能没有报告具体的行,而是使用第 975 行作为对似乎找不到属性 E 的代码段的引用,因此第 975 行可能位于任何代码的中间有问题(一些调试器这样做而不是报告他们发现问题的第一行 - 也许 Chrome 的解释器是这样工作的,但我不知道,因为我使用 Firefox 进行开发)。在这种情况下,这意味着 this 是未定义的,这就是你的问题。

我们必须查看更多内容才能了解为什么会发生这种情况,因为我们无法从屏幕截图中确定 this 的上下文是什么。 this 的预期值是多少,如果这是您稍后实例化的对象定义的一部分,您如何实例化它,因为上下文可能对 this 的值很重要。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2011-01-05
    • 2012-04-24
    • 2011-04-12
    相关资源
    最近更新 更多