《你不知道的JavaScript》[x] 书籍 [ ] 讲座 [ ] 视频
作者 Kyle Simpson 出版社 人民邮电出版社
ISBN 9787115385734 出版时间 2015-04
豆瓣网址 豆瓣 是否有电子版 微信读书
阅读日期 2021-11-03 更新日期
相关链接 备注

简介

很多人对JavaScript这门语言的印象都是简单易学,很容易上手。JavaScript语言本身有很多复杂的概念,语言的使用者不必深入理解这些概念也可以编写出功能全面的应用。殊不知,这些复杂精妙的概念才是语言的精髓,即使是经验丰富的JavaScript开发人员,如果没有认真学习的话也无法真正理解它们。在本书中,我们要直面当前JavaScript开发者不求甚解的大趋势,深入理解语言内部的机制。本书既适合JavaScript语言初学者阅读,又适合经验丰富的JavaScript开发人员深入学习。

说起来这本书已经非常老了,第二版也迟迟没翻译。不过js的很多东西历久弥新。还是值得一读的。这套书供三本,定位是,学习并且深入理解整个js,尤其是难的部分,而不仅仅是 good parts。

但个人感触,这个定位也见仁见智,当掌握多门计算机语言,或者日常兴趣更专注工具链的组合,完全可以忽略。用到了再去尝试理解也不迟,当一门语言的特性非常冷僻,自然在日常中也不会使用,协作中也会给其他人带来协作。

全书大纲

《你不知道的JavaScript》上中下 - 图1

作用域和闭包

1 作用域是什么

语言通识 https://www.yuque.com/xinbao37/roadmap/js-history-now-feture#ZfLVr

继续分析 RHS/LHS ,说起来其他书中并不会去提这个细节。当变量出现在赋值操作的左侧叫LHS,右侧叫RHS。
这里可以理解成

  • 先找到一个变量试图去赋值,这时候变量在左侧,LHS
  • 其他操作,比如 var b=a,变量a在右侧,这时候变量的作用是提供值,也就是查找值。

这段看完有什么收获?我没有。

作用域嵌套,尝试举例子解释作用域向上查找的情况。

2 词法作用域

语言通识,所谓作用域,就是如何管理当前作用域和嵌套作用域。目前有两种类型:

  • 词法作用域。这个是大多数,我们关注这个
  • 动态作用域,少部分比如 bash/perl 等

内容略。

依然忽略 with/eval 的用法,不关注。没了。

3 函数作用域和块作用域

3.2 其实有点意思,代码逻辑的认知。包裹函数隐藏变量。切到 vue composition 也一样。

4 提升

也就是提升,function 前置。

5 作用域闭包

闭包无处不在。