4

我在 Chrome 中的 JavaScript 控制台中遇到错误

TypeError: Cannot call method 'xxx' of undefined

Firefox 中的 Firebug 报告;

TypeError: t is undefined

T 和 xxx 只是示例。

我正在处理的网站塞满了插件、jQuery 和其他随机且可能是错误的代码。它很复杂,可能不值得在其中列出所有 javascript。

所以我的问题是;鉴于这种情况,我如何将此错误追溯到有问题的代码段?而且——这可能吗?考虑到无数的变量,xxx 和 T 对我来说毫无意义。

Chrome 似乎有更多的洞察力,具有诸如 get stack、和之类的错误属性set stack,但扩展这些属性似乎让我陷入了> > > ... ad nauseum 的无尽旅程。message__proto__prototypeconstructorprototypeconstructor

这些错误消息能否引导我找到任何有用的信息,例如错误发生的确切位置——什么文件、什么变量、函数名……什么?

我意识到这可能是一个非常基本的问题,但我被困住了。任何提示或指针真的很感激!我保证在此之后我会阅读更多的 Javascript 书籍。也许去上一个课程。或者我会放弃...

4

1 回答 1

3

在 Firebug 中,转到脚本选项卡,然后单击“下一个中断”(左红色圆圈)。当出现 javascript 错误时,脚本将在那里暂停。您可以选择堆栈选项卡(右圆圈)。在调用堆栈中,您可以单击行,它将带您进入代码。

如果您不知道是什么原因造成的,您仍然可以复制并粘贴调用堆栈吗?

萤火虫窗口

有时您可能想看看 3rd 方库在做什么;如果您在开发过程中使用这些库的未缩小版本,则更容易看到发生了什么。

于 2013-05-04T03:05:56.090 回答