JS中的错误异常 TypeError Reference Error

来源:互联网 发布:淘宝电商发货流程 编辑:程序博客网 时间:2024/06/06 09:38

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是作用域判别成功后对结果非法操作或者不合理 



阅读全文
0 0
原创粉丝点击