2013-01-16 99 views
0

所以這是一個更普遍的問題。有幾百個關於爲什麼這個和那個返回這個錯誤的問題,但我想更深入的瞭解,以更快地解決這些問題。或者只是學習新的東西。如果有人可以找到解釋的參考,我會很高興結束這個問題,但我找不到一個。「未捕獲的類型錯誤:對象[對象對象]沒有方法」

  1. 這是什麼缺失?
  2. 它是瀏覽器的JavaScript編譯器引發錯誤還是 它的jQuery?
  3. 什麼是對象[對象對象]?
+0

也許你可以點擊該消息並查看它發生的地方。沒有代碼很難診斷。 – antejan

+1

1)將遵循「...沒有方法」的方法名稱不是該對象的屬性。 2)它不是jQuery。 3)'Object [object Object]'是在所有對象上找到的'toString'方法的默認返回值。 (幾乎所有東西都是一個對象) – Shmiddty

回答

3

What is it that is missing?

您試圖調用一個對象不存在的方法。例如:

var foo = {}; 
foo.bar(); 

如果屬性確實存在,但不是一個函數,你會得到類似的錯誤:

TypeError: Property 'bar' of object #<Object> is not a function

注:不同的瀏覽器顯示不同的錯誤信息,這一個來自Chrome。


Is it the browsers javascript compiler that throws the error or is it jQuery?

這是JavaScript的運行時引擎。它與jQuery無關。


What are the Object[object Object]?

[object Object]是對象的默認字符串表示。嘗試:

alert({}); 

你重寫它通過實現toString方法:

var foo = { 
    toString: function() { 
     return "I'm a boring object."; 
    } 
}; 
alert(foo); 
0

的翻譯:是什麼是對象的默認toString方法返回。當你看到這個錯誤時,它意味着你正試圖在一個沒有該名稱的屬性的對象上調用一個方法,並且沒有對它的toString方法重載。

如果您看到此消息,應檢查使用螢火蟲或其他調試工具發生的行,並嘗試瞭解消息中「方法」後面的屬性名稱爲何不存在於調用中目的。

這與jQuery沒什麼特別的關係。這只是在對象上不存在屬性時引發的默認錯誤。

相關問題