首页 > 其他分享 >ReferenceError和TypeError的区别

ReferenceError和TypeError的区别

时间:2022-12-09 19:34:41浏览次数:40  
标签:TypeError 区别 作用域 RHS LHS 异常 ReferenceError

ReferenceError:---- 指在RHS查询中所有嵌套的作用于中遍寻不到所需的变量,引擎就会抛出ReferenceError异常。

ReferenceError同作用域判别失败相关,而TypeError这代表作用域判别成功了,但是对结果的操作是非法或不合理的。

eg:

function foo(a) {
    console.log(a + b);
    b = a;
}
var c = foo(2);

 

比如以上示例,其中在console.log(a+b)对b进行RHS查询的时候,未找到b,即RHS引用不成功导致ReferenceError的异常:具体异常时b未定义

 

总结:作用域、LHS和RHS

不成功过的RHS引用会导致抛出ReferenceError异常。

不成功的LHS引用会导致自动隐私地创建一个全局变量(非严格模式下),该变量使用LHS引用的目标作为标识符,或者抛出ReferenceError异常(严格模式下)。

 

标签:TypeError,区别,作用域,RHS,LHS,异常,ReferenceError
From: https://www.cnblogs.com/inceng/p/16969792.html

相关文章

  • splice和slice的区别
         ......
  • gravity 和 layout_grativy 区别
    LinearLayout有两个非常相似的属性:android:gravity与android:layout_gravity。他们的区别在于:android:gravity用于设置View组件的对齐方式,而android:layout_gravity用于设置......
  • Java中a+=b和a=a+b的区别
    在Java语言中a+=b和a=a+b是有区别的,主要的区别是在运算时精度的问题,当然了-=、*=、/=,%=也都是一个道理。这里以a+=b和a=a+b为例做说明。        (1)下面以一段Java程......
  • 数据库,部分函数依赖,传递函数依赖,完全函数依赖,三种范式的区别
    要讲清楚范式,就先讲讲几个名词的含义吧:部分函数依赖:设X,Y是关系R的两个属性集合,存在X→Y,若X’是X的真子集,存在X’→Y,则称Y部分函数依赖于X。举个例子:学生基本信息表R中(学号,......
  • UML类图、类、接口、聚合、组合的区别
    在UML类图中:类、接口、聚合、组合的UML表示1)类用空心三角实线连接2)接口用空心三角虚线连接3)聚合关系用空心菱形实线连接4)组合用实心菱形实线连接类:表示子类与父类的继承......
  • 直播app开发,页面跳转的几种方法和区别
    直播app开发,页面跳转的几种方法和区别1.保留当前页面,可跳转到非tabBar页面,使用uni.navigateBack可以返回到原页面(可传参) uni.navigateTo({url:'test?id=1&name=uni......
  • Java中new Long(String s)和Long.valueOf(String s)的区别
    想要知道newLong(Strings)和Long.valueOf(Strings)的区别,还是得从源码直接看比较直观newLong(Strings)Long.valueOf(Strings)从源码可以看出,使用newLong(s)和Long.v......
  • for in 和 for of 的区别
    forof 和 forin都是用来遍历的属性区别:for...in 语句用于遍历数组或者对象的属性(对数组或者对象的属性进行循环操作)。forin得到对对象的key或数组,字符串的下标......
  • uniapp中的@tap和@click的区别
    在HbuilderX中,两者都是点击时触发事件;不同的是:1.@click是组件被点击时触发,会有约300ms的延迟(内置处理优化了)2.@tap是手指触摸离开时触发,没有300ms的延迟,但是会员事件......
  • 1分钟理清楚C++类模板和模板类区别
    1、定义区别    类模板和模板类主要关注点是后一个单词。类模板:主要描述的是模板,这个模板是类的模板。可以理解为一个通用的类,这个类中的数据成员,成员函数的形参类型......