了解chrome javascript stacktrace

bal*_*teo 7 javascript stack-trace google-chrome-devtools

关于以下javascript stacktrace,我有几个问题.

  1. 为什么堆栈跟踪有两个部分:第一个是顶部的红色,第二个是黑色的?
  2. 第一行的开头at是什么意思?即at angular.js:63:为什么它不像其他行那样引用函数/方法调用?
  3. 怎么订购?底部的线条出现在顶部的线条之前吗?

javascript stacktrace

phu*_*uzi 3

  1. 红色的位是异常/错误消息 - 在这种情况下,Angular 看起来抛出了一个异常,并且作为该异常的一部分,它已将堆栈跟踪的内容添加到消息中,而黑色位是您的堆栈跟踪每当浏览器遇到未处理的异常时就会得到。
    1. at 的第一行说明了错误发生的位置 - 脚本名称和行号 - 如果您查看angular.jsat 第 63 行的源代码,您将看到引发异常的语句。
    2. 它不是指函数调用,因为它是引发异常的语句。到达该语句的唯一方法是通过一系列函数调用,然后这些函数调用以相反的顺序显示。
  2. 正确的。例如,该Scope.$apply函数调用Scope.$evalScope.$eval调用名为 的函数callback,等等。