2013-05-04 80 views
3

我在Chrome中得到一個錯誤,在我的JavaScript控制檯類型錯誤在Javascript控制檯

TypeError: Cannot call method 'xxx' of undefined 

Firefox中的Firebug的報告;

TypeError: t is undefined 

T和xxx只是例子。

我正在工作的網站上塞滿了插件,jQuery和其他隨機和可能不正確的代碼。這很複雜,可能不值得在那裏列出每一點的JavaScript。

所以我的問題是,鑑於這種情況,我如何將這個錯誤追溯到違規的代碼片段?而且 - 甚至可能嗎?鑑於無數的變量,xxx和T對我來說毫無意義。

鉻似乎有更深入的瞭解,錯誤性質,如得到stackset stackmessage__proto__,但擴大這些似乎只是給我上的prototype>constructor>prototype>constructor ...廣告nauseum的無盡的旅程。

這些錯誤消息可以引導我到任何有用的東西,比如發生錯誤的地方 - 什麼文件,什麼變量,函數的名稱......什麼?

我意識到這可能是一個非常基本的問題,但我卡住了。任何提示或指針真的很感激!我保證我會在這之後閱讀更多的Javascript書籍。也許去一個課程。或者,也許我會放棄...

+1

點擊錯誤,它會帶你到代碼(在FireBug的任何console.log和錯誤顯示它來自右側)。如果來自jquery而不是更可能的錯誤是由您的代碼調用jQuery函數引起的。獲取未分類的版本,解決錯誤並檢查調用堆棧。 – HMR 2013-05-04 02:47:44

+1

呃......我使用了幾個插件和* pop *的un-minified版本,它開始工作。首席罪犯似乎被稱爲jCarousel。真相是,我不知道我在做什麼。而且我已經連續兩天了,正如我的項目經理預測星期天世界末日。如果你回答這個問題,我會給你一個綠色的答案 - 謝謝! – NathanBarley 2013-05-04 03:08:02

+0

我會將它添加到我的答案中。很高興看到它被解決了。 – HMR 2013-05-04 03:14:09

回答

2

在螢火蟲去腳本選項卡,然後點擊「打破下一個」(左邊的紅色圓圈)。當出現javascript錯誤時,腳本將在那裏暫停。您可以選擇堆棧選項卡(右圓圈)。在通話堆棧中,您可以點擊這些行,它會將您帶到代碼中。

如果你不知道是什麼導致它仍然可以請你複製並粘貼調用堆棧?

Firebug window

Somtimes你可能想看看有什麼第三方庫正在做的;如果在開發過程中使用這些庫的未經版本化的版本,則更容易看到發生了什麼。

+0

更好 - 「下一站」。這很好,謝謝弟兄們。 1下來,86問題去。 – NathanBarley 2013-05-04 03:28:28