Js TypeError 和 referentError

  • TypeError

TypeError 对一个变量的值做不合理的操作,如对非函数的变量进行函数调用
或者引用null或undefined类型的值得属性

let a = {};
console.log(a.list.name); //这种情况也比较常出现
  • ReferenceError

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

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

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

a = 3; 

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

猜你喜欢

转载自blog.csdn.net/niexia_/article/details/80266427