我在Chrome中的JavaScript控制台中收到错误
TypeError: Cannot call method 'xxx' of undefined
Firefox中的Firebug报告;
TypeError: t is undefined
T和xxx就是例子。
我正在处理的网站充满了插件,jQuery和其他随机且可能不好的代码。这很复杂,可能不值得在那里列出每一点javascript。
所以我的问题是;鉴于这种情况,我怎样才能将这个错误追溯到有问题的代码片段?而且 - 甚至可能吗?鉴于无数变量,xxx和T对我来说毫无意义。
Chrome似乎有更多洞察力,包含错误属性,例如获取stack
,set stack
,message
和__proto__
,但扩展这些属性似乎只会让我发现prototype
>的无尽旅程constructor
> prototype
> constructor
... ad adause。
这些错误消息可以指导我做任何有用的事情,例如错误发生的位置 - 什么文件,什么变量,函数名称......什么?
我意识到这可能是一个非常基本的问题,但我被困住了。任何提示或指示真的很感激!我保证在此之后我会阅读更多Javascript书籍。也许继续上课。或许我会放弃......
答案 0 :(得分:2)
在Firebug中转到脚本选项卡,然后单击“下一个中断”(左侧红色圆圈)。当出现javascript错误时,脚本将暂停。您可以选择堆栈选项卡(右侧圆圈)。在调用堆栈中,您可以单击这些行,它将带您进入代码。
如果您无法找出导致它的原因,请复制并粘贴调用堆栈吗?
有时你可能想看看第三方图书馆正在做什么;如果在开发期间使用这些库的未分析版本,则更容易看到发生了什么。