一、SyntaxError 语法错误
语法错误表示当前我们错误使用了已经预定的语法时,就会抛出此错误。
二、TypeError 类型错误
类型错误表示当前值不是预定类型,调用无效方法时都会抛出此错误。
三、ReferenceError 引用错误
引用错误表示当找不到变量的引用,在变量作用域范围外使用变量、使用未声明的变量时,在暂时性死区期间使用变量时都会抛出此错误。
四、RangeError 范围错误
范围错误表示将变量设置在其限定的范围之外,将值传递给超出范围的方法,调用一个不会终止的递归函数时就会抛出此错误。
五、URIError URl错误
URI错误表示当URI的编码和解码出现问题时,就会抛出URIError。URI操作函数包括:decodeURI、decodeIURIComponent等。如果使用了错误参数(无效字符),就会抛出URIError。
六、EvalError Eval错误
Eval错误,当eval()函数调用发生错误时,就会抛出EvalError。不过,当前的JavaScript引擎或ECMAScript规范不在抛出此错误。但为了向后兼容,依旧存在。
七、InternalError 内部错误
内部错误,当JavaScript引擎上的工作负载突然激增时,会抛出此错误。当有太多的数据要处理时,工作量就会激增,比如函数调用时包含过多的递归或者过多的switch case时。