【2018/1/8】每日总结

今天做的事:

一、看《你不知道的javascript》(上卷)  第一部分作用域和闭包  前三章

 

目录如下:

 

这本书偏向于讲原理,讲特性,打算最近每天看一个小时左右来消化。晚上写总结时整理下自己理解到的东西。

1 作用域是什么

1.1  编译原理

大部分语言都是提前先编译,后执行,比如java。
js虽然是动态解析型语言,但也是要编译后才执行。只不过它跟静态语言在变量上的区别是,静态语言在编译时已经确认变量类型了,而动态语言js是在执行时才能确认变量的类型。

编译的过程一般分为三个步骤(一般都不止三个步骤,会在其中一些步骤加上优化):

  • 分词/词法分析 (词法单元,分词和词法分析微妙的区别)
  • 解析/语法分析 (词法单元流,AST)
  • 代码生成    :将AST生成机器指令,让引擎能读懂

1.2 理解作用域

  • 引擎:编译和执行
  • 编译器:语法分析,代码生成
  • 作用域:收集和维护变量
  • LHS 和 RHS 的作用和区别

1.3 作用域嵌套

1.4 异常

  • 严格模式:禁止自动或隐式创建全局变量
  • ReferenceError 和 TypeError 的区别

使用一个例子对上面的知识进行串联 :  var  a=2; console.log(a);

 

2 词法作用域 (函数声明时所处的位置)

  • 遮蔽效应
  • window.a
  • eval with

3.函数作用域和块作用域

  • IIFE 立即执行函数表达式
  • try/catch
  • let const

 

明天要做的事:

1.回顾上面所看的三章

2.面试题

3.改简历,投简历

4.css 练习,css知识学习,总结

5.看 《你不知道的javascript》(上卷) 一小时

6.学习 js 

7. 学习 vue 两小时

8.总结

 

posted @ 2018-01-09 00:42  尾巴33  阅读(88)  评论(0)    收藏  举报