今天在写代码的时候看到控制台的报错信息,突然想知道不同的错误有什么分别,于是上网查找了资料以及视频学习,对此做一个简单的总结。
一、前言
我们在开发过程中经常会看到控制台的报错信息,但是有没有深入想过,为什么报的是这样的错误呢。
每种错误都会有对应的错误类型,而当错误发生时,就会抛出相应类型的错误对象。
二、错误类型
js里面定义了以下几种类型。
1、Error :通用类型,也是所有错误的父类型,也就是说其他错误类型都继承自该类型。
2、EvalError:表示与全局函数eval()有关的错误,这个异常不再会被JavaScript抛出,但是EvalError对象仍然保持兼容性。
3、RangeError:表示数值变量或参数超出其有效范围。试图传递一个number参数给一个范围内不包含该number的函数时则会引发RangeError。
这是一个常见的错误类型,比如我们我们一直重复调用自身的函数,导致超出调用栈的大小,便会抛出错误
function fn() {
fn()
}
fn() //一直在嵌套调用函数,所以抛出超过了最大调用堆栈大小
在控制台的报错信息中,可以看到