zoukankan      html  css  js  c++  java
  • js中RHS与LHS区别

    为什么区分RHS与LHS是一件重要的事情?

    因为在变量没有声明(在任何作用域都找不到该变量的情况下),这两种查询的行为是不一样的.

    function foo (a) {

      console.log(a + b);

      return a + b;

    }

    foo(2);

    第一次对b进行RHS查询是找不到该变量的.也就是说这是一个"未声明"的变量.

    如果在rhs的所有嵌套的作用域查询中都无法找到该变量,js引擎就会抛出一个ReferenceError异常. ReferenceError是一个重要的异常.

    相较之下, 当引擎执行 LHS 查询时, 如果在顶层( 全局作用域) 中也无法找到目标变量,

    全局作用域中就会创建一个具有该名称的变量, 并将其返还给引擎, 前提是程序运行在非 “ 严格模式” 下。

    “ 不, 这个变量之前并不存在, 但是我很热心地帮你创建了一个。”

    来自 你不知道的js

  • 相关阅读:
    Jooq基本操作
    SpringcloudStream简单使用
    SpringcloudBus消息总线
    RabbitMQ集群
    Springboot整合RabbitMQ
    RabbitMQ死信队列与延迟队列
    RabbitMQ事务性消息和确认模式
    公链简介
    公链简介
    Windows生产力工具推荐
  • 原文地址:https://www.cnblogs.com/a-flydog/p/5526111.html
Copyright © 2011-2022 走看看