1. SyntaxError(语法错误)
解析代码时发生的语法错误:
var 8a;
错误信息:Uncaught SyntaxError: Unexpected number
2. ReferenceError(引用错误)
(1)引用了一个不存在的变量:
console.log(a);
错误信息:Uncaught ReferenceError: a is not defined
(2)将变量赋值给一个无法被赋值的对象:
console.log() = 1;
错误信息:Uncaught ReferenceError: Invalid left-hand side in assignment
3. RangeError(范围错误)
超出有效范围:
var a= new Array(-1);
错误信息:Uncaught RangeError: Invalid array length
4. TypeError(类型错误)
(1)变量或参数不是预期类型,比如,对字符串、布尔值、数值等原始类型的值使用 new 命令,就会抛出这种错误,因为 new 命令的参数应该是一个构造函数。
var a = new 123;
错误信息:Uncaught TypeError: 123 is not a function
(2)调用对象不存在的方法:
var a;
a.aa();
错误信息:Uncaught TypeError: Cannot read property 'aa' of undefined
5. URLError(URL错误)
与 url 相关函数参数不正确,主要是encodeURI()、decodeURI()、encodeURIComponent()、decodeURIComponent()、escape()和unescape()这六个函数。
decodeURI('@ssaaa%')
错误信息:Uncaught URIError: URI malformed
6. EvalError(eval错误)
eval 函数没有被正确执行