ReferenceError
如果在作用域中找不到所需变量,就会抛出ReferenceError
TypeError
如果尝试对变量的值进行不合理的操作(比如:对一个非函数类型的值进行函数调用,或者引用null或undefined类型的值中的属性),就会抛出TypeError
ReferenceError与作用域判断失败有关;而TypeError表示作用域判断成功了,但对值的操作是非法的。
如果不能确定 一个变量是否有定义过,可以先使用typeof检测。typeof运算符返回一个值的数据类型。
// 直接使用报错
if (v) {}
// ReferenceError: v is not defined
// 先检测
if (typeof v === "undefined") {}
写完啦,(*^▽^*)