JS中的错误异常 TypeError Reference Error

ECAM-262中定义了7种错误类型 

Error

EvalError

RangeError

ReferenceError

SyntaxError

TypeError

URIError


Error是基类型 其他错误类型继承该类型  该类错误少见 如果有也是浏览器抛出 主要用于开发人员自定义错误 

EvalError 使用eval()函数时抛出的异常 

RangeError 数值超出相应范围

例如数组定义下标是负数或者Number.MAX_VALUE

var iArray1 = new Array(-1);

var iArray2 = new Array(Number.MAX_VALUE);

ReferenceError RHS查询在所有嵌套的作用域都找不到该变量 抛出该错误 

var obj = x;// x未声明 RHS找不到 

如果LHS左查询找不到目标变量  就会在顶层全局作用域里新建该名词的变量 , 严格模式下 不会创建全局变量 也会抛出referenceError

obj = 3;


TypeError 对一个变量的值做不合理的操作 如对非函数的变量进行函数调用   

或者引用null或undefined类型的值得属性

var o = new 10;

ReferenceError是跟作用域判别失败有关 TypeError是作用域判别成功后对结果非法操作或者不合理 



  • 2
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值