zoukankan      html  css  js  c++  java
  • 作用域中LHS查询和RHS查询

    LHS查询:赋值操作左侧的查询,LHS查询试图找到变量的容器本身,,从而对其赋值。

    RHS查询:赋值操作右侧的查询,可以理解为“取到某某的值”

    举例:

    function foo(a) {
        console.log(a);
    }
    
    foo(2);
    

    RHS查询有:

    1. foo(..), 查询foo函数
    2. 函数内Console对象的查询
    3. 对a进行RHS查询

    LHS查询:

    1. 把2赋值给参数a时,对a进行LHS查询;
    • 区别

    如果RHS查询在所有嵌套的作用域中找不到所需的变量,引擎就会抛出ReferenceError异常;

    相比之下,非严格模式下,当执行LHS查询时,如果在顶层作用域也无法找到目标变量,全局作用域会创建一个具有该名称的变量,并将其返回给引擎;严格模式下,LHS查询,找不到目标变量时也会抛出ReferenceError异常。

    如果RHS查询找到了一个变量,但是对这个变量的值进行不合理的操作(如试着引用null类型的属性),引擎会抛出TypeError异常。

    • 作用域

    作用域是一套规则,用来管理引擎如何在当前作用
    域以及嵌套的子作用域中根据标识符名称进行变量查找。如果查找的目的是对
    变量进行赋值,那么就会使用 LHS 查询;如果目的是获取变量的值,就会使用 RHS 查询。

  • 相关阅读:
    xhEditor struts2实现图片上传
    xhEditor入门基础
    jQuery全屏插件Textarea Fullscreen
    jQuery幻灯片插件Skippr
    jQuery跳房子插件hopscotch
    合理配置SQLSERVER内存
    浅谈SQL Server 对于内存的管理
    SQL Server 临时表和表变量系列之选择篇
    SQLTest系列之INSERT语句测试
    转:表变量与临时表的优缺点
  • 原文地址:https://www.cnblogs.com/Jingge/p/10208972.html
Copyright © 2011-2022 走看看