• 你不知道的JS系列 ( 4 ) - 作用域判别异常


    在变量还没有声明, LHS,RHS 两种查询的行为是不一样的
    function foo(a){
      console.log(a+b);
      b=a;
    }
    foo(2);
    第一次对 b 进行 RHS 查询时是无法找打该变量对,如果 RHS 查询在所有嵌套的作用域中遍寻不到所需的变量,引擎就会抛出 ReferenceError 异常
    当引擎执行 LHS 查询时,如果在全局作用域中也无法找到目标变量,全局作用域中就会创建一个具有该名称的变量
    如果 RHS 查询找到了一个变量,但是尝试对这个变量进行不合理对操作,比如试图对一个非函数类型对值进行函数调用,或者引用 null 或 undefined 类型对值中的属性,那么引擎会抛出 TypeError 异常。
    总结:ReferenceError 同作用域判别失败相关,而 TypeError 则代表作用域判别成功了,但是对结果操作是非法或不合理的
  • 相关阅读:
    POJ1112 Team Them Up!
    WebSocket相关介绍
    长轮询 & 短轮询
    图片上传 & 预览
    sessionStorage & localStorage & cookie & session
    进程 & 线程
    https介绍与讲解
    http请求
    TCP/IP的连接与断开
    浏览器缓存
  • 原文地址:https://www.cnblogs.com/wzndkj/p/12306470.html
Copyright © 2020-2023  润新知