1.SyntaxError(語法錯(cuò)誤)
解析代碼時(shí)發(fā)生的語法錯(cuò)誤
eg:var 1a;
Uncaught SyntaxError: Unexpected number
2.ReferenceError(引用錯(cuò)誤)
a.引用了一個(gè)不存在的變量
eg: console.log(a);
Uncaught ReferenceError: a is not defined
b.將變量賦值給一個(gè)無法被賦值的對象
eg:console.log()= 1;
Uncaught ReferenceError: Invalid left-hand side in assignment
3.RangeError(范圍錯(cuò)誤)
超出有效范圍
eg:var a= new Array(-1);
Uncaught RangeError: Invalid array length
4.TypeError(類型錯(cuò)誤)
a.變量或參數(shù)不是預(yù)期類型,比如,對字符串、布爾值、數(shù)值等原始類型的值使用new命令,就會拋出這種錯(cuò)誤,因?yàn)閚ew命令的參數(shù)應(yīng)該是一個(gè)構(gòu)造函數(shù)。
eg: var a= new 123;
Uncaught TypeError: 123 is not a function
b.調(diào)用對象不存在的方法
eg:var a;a.aa();
Uncaught TypeError: Cannot read property 'aa' of undefined
5.URLError(URL錯(cuò)誤)
與url相關(guān)函數(shù)參數(shù)不正確,主要是encodeURI()、decodeURI()、encodeURIComponent()、decodeURIComponent()、escape()和unescape()這六個(gè)函數(shù)。
eg: decodeURI('%2')
Uncaught URIError: URI malformed
6.EvalError(eval錯(cuò)誤)
eval函數(shù)沒有被正確執(zhí)行