eloquentjavascript阅读1 | 青训营笔记

69 阅读2分钟

这是我参与「第五届青训营 」笔记创作活动的第14天。

在线阅读这本书: eloquentjavascript.net/

阅读之前,我觉得还是先体验一下游戏,这样当我们阅读的时候会觉得这是一个很快乐的过程,带着我们的好奇心来阅读探索,这样我们才能真心感受到那种探索的乐趣。

这里是这本书本身的代码游戏:bituo123.github.io/game/game2

整体分为三大部分,语言,浏览器,nodejs

语言这里目录是,变量,类型,运算符,程序结构,函数,数据结构:对象和数组,高阶函数,对象的生命周期,机器人项目,bug,正则表达式,模块,异步编程,项目:一个编程语言

浏览器这里是,js和浏览器,document对象,处理事件,项目:一个平台游戏,在canvas上面画画,http和表单,项目:像素编辑器,

nodejs是,nodejs,项目:技术分享网站,

语言:

整数,小数,运算,正负无穷,NaN(也是数字,无意义的数字,0/0这种),字符串,字符的+,拼接数字运算${},typeof单向运算符,大于,小于,不等于,双等于,等于,逻辑运算符,and,or,not,也就是并或非,并&&,或||,非!,优先级:||的优先级最低,然后是&&,然后是比较运算符(>,==,等等),然后是其他。三元运算符,自动类型转换,其中逻辑运算的转换需要注意,||或会转换两边为布尔进行比较,而结果会根据比较结果来展示,这是一个坑,逻辑运算符的转换,

程序结构:绑定,函数,函数就是专门绑定的一部分程序,最后返回的值,控制流,循环,条件,

函数:定义函数,三种函数定义规范,赋值,自定义,箭头函数,回调地狱,参数,可以定义多个参数,可以默认参数,闭合,函数里面返回函数,a里面还有函数,b=a(2),b()最后会带上a上次传的参数。递归,不加限制条件的话就像两面镜子对照。增长函数,举了一个例子,关于给动物前面加数字的例子,他把功能拆分了,导致可以兼容更多的需求,我认为这相当于一个实现SDK来调用API,创建值的函数比直接执行副作用的函数更容易以新的方式组合。