1. Uncaught TypeError: Cannot read property
JavaScript 開發(fā)人員最常遇到的錯誤。

導致原因
當讀取一個屬性或調用一個未定義對象的方法時,Chrome 中就會報出這樣的錯誤。
2.TypeError: undefined is not an object (evaluating '....')
TypeError: undefined is not an object (evaluating '....')
TypeError: null is not an object (evaluating 'null.a')
在 Safari 中讀取屬性或調用未定義對象上的方法時發(fā)生的錯誤,這與 Chrome 的上述錯誤基本相同,只是 Safari 使用不同的錯誤消息。

3.(unknown): Script Error
當未捕獲的 JavaScript 錯誤違背跨邊界原則時,就會發(fā)生腳本錯誤。例如,如果將 JavaScript 代碼托管在 CDN 上,則任何未被捕獲的錯誤(通過 window.onerror 處理程序發(fā)出的錯誤,而不是 try-catch 中捕獲到的錯誤)將僅報告為“腳本錯誤”。這是瀏覽器的一種安全措施,主要用于防止跨域傳遞數(shù)據(jù)的情況出現(xiàn)。
要獲取真實的錯誤消息,需要執(zhí)行以下操作:
Access-Control-Allow-Origin
將 Access-Control-Allow-Origin 設置為 , 表示可以從任何域正確訪問資源。 如有必要,也可以用自己的域名進行替換,例如:
Access-Control-Allow-Origin: www.example.com。
以下是在各種環(huán)境中設置的一些示例:
- Apache
在 JavaScript 文件夾中,創(chuàng)建一個 .htaccess 文件,并包含以下內容:
Header add Access-Control-Allow-Origin "*"
- Nginx
將 add_header 指令添加到提供 JavaScript 文件的 location block 中:
location ~ ^/assets/ {
add_header Access-Control-Allow-Origin *;
}
- HAProxy
將以下內容添加到提供 JavaScript 文件的靜態(tài)資源配置后端:
rspadd Access-Control-Allow-Origin:\ *
在腳本標簽上設置 crossorigin =“anonymous”
在你的 HTML 源代碼中,為每一個腳本設置 Access-Control-Allow-Origin,在設置 SCRIPT 標簽中,設置crossorigin="anonymous"。在將 crossorigin 屬性添加到腳本標簽之前,請確保正在向腳本文件發(fā)送 header。在 Firefox 中,如果 crossorigin 屬性存在但 Access-Control-Allow-Origin 標題不存在,則腳本不會執(zhí)行。
4. TypeError: Object Doesn’t Support Property
TypeError: Object Doesn’t Support Property: 當調用未定義的方法時,IE 中會發(fā)生這樣的錯誤。
TypeError: ‘undefined’ Is Not a Function: chomre | firefox


5.Uncaught RangeError: Maximum Call Stack
這是在很多種情況,Chrome 中發(fā)生的錯誤,一種情況是當你調用一個不會終止的遞歸函數(shù)時。

6.TypeError: Cannot Read Property ‘length’
因為讀取了未定義長度屬性的變量。

7.Uncaught TypeError: Cannot Set Property
在 Chrome 瀏覽器中,如果 a 對象不存在,就會出現(xiàn)這種錯誤:

8.ReferenceError: Event Is Not Defined
嘗試訪問未定義的變量或當前范圍之外的變量時會引發(fā)此錯誤。

參考文獻: http://www.cnblogs.com/powertoolsteam/p/top-10-javascript-errors.html
https://dzone.com/articles/top-10-javascript-errors-from-1000-projects-and-ho-1