博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
你不知道的JavaScript学习小结(更新中)
阅读量:6232 次
发布时间:2019-06-22

本文共 877 字,大约阅读时间需要 2 分钟。

前言

最近在看《你不知道的JavaScript》,有很多知识点枯燥并且难懂,所以每学习完一节不懂得新知识点就记录一下,加深记忆

1.1 理解作用域

简单记忆

书中1.2.3提到了之前没接触过的新知识点,LHS和RHS查询,书中的解释是

赋值操作的左侧或右侧

可理解为:

LHS:给变量赋值;RHS:获取变量的值。

简单的记忆就是,获取值获取的是等号右边的值,所以是RHS; 给变量赋值,一般是等号的左边,所以是LHS。(但是不能简单的用等号判断)

原文举例
console.log(a) ;复制代码

我要打印a,就要获取a的值,所以是RHS查询,对a的引用为RHS引用

a = 2;复制代码

这是给a赋值,将2赋值给a——LHS

function foo(a){    console.log(a) // 2}foo(2)复制代码

foo(..)可看做一个变量(实际是函数的调用),所以是去获取foo(..)的值——RHS

function foo(a)中是要给a赋值——LHS

log(a)中是要去获取a的值——RHS

原文测试题
function foo(a){    var b = a;    return a + b;}var c = foo(2)复制代码

var c, c = .. :给c赋值——LHS

function foo(a),a = 2:给a赋值——LHS

var b, b = 2:给b赋值——LHS

foo(2):获取foo(..)的值——RHS

var b = a中对a的引用:获取a的值——RHS

a + b,对a:获取a的值;对b:获取b的值——RHS(两个)

作用

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

转载于:https://juejin.im/post/5cfe06b0e51d45572c06001e

你可能感兴趣的文章
iOS开发UI篇—Quartz2D使用(绘图路径)
查看>>
esnext:Function.prototype.toString 终于有规范了
查看>>
nginx源代码分析--从源代码看nginx框架总结
查看>>
Arcgis for Js实现graphiclayer的空间查询
查看>>
3.2 re--正則表達式操作(Regular expression operations)
查看>>
HDU 1018 Big Number (log函数求数的位数)
查看>>
CSS3盒子模型
查看>>
毕业课题之------------路面区域增强和总体检測过程
查看>>
C#中一些字符串操作的经常使用使用方法
查看>>
ExtJs4.1布局具体解释
查看>>
jQuery 插件开发全解析
查看>>
DEDE中 field:rel 是什么意思,起一个什么样的作用效果
查看>>
【图片】批量获取几万张图片
查看>>
Spring经常使用属性的注入及属性编辑器
查看>>
FreeRTOS系列第13篇---FreeRTOS内核控制
查看>>
python入门小记
查看>>
将逻辑卷降为物理分区
查看>>
CMake 入门实战【转】
查看>>
软硬件之共生之道——一千零一夜的启发
查看>>
redis 性能建议
查看>>