# 1.1.1 三大内容
高阶函数 & 函数抽象:
重点
   1.重点关注javasctipt的原始类型和引用类型,思考此设计影响的浅拷贝/深拷贝,可变性/不可变性概念。
   2.理解纯函数、高阶函数、函数复用的相关知识、DRY、提升代码复用率。
应用
   1.Shallow Copy => React 性能优化
  2.Compose => Redux Middleware
异步编程模式:
重点
  1.思考和理解EventLoop中个操作的执行顺序,特别是宏队列和微任务队列的执行顺序。
  2.理解处理异步操作的演变历史,以及Promise、Async/Await 的原理。
应用
  1.MircoTasks => Vue.$nextTick()
  2.单线程 => Vue 依赖跟踪
javascript 设计模式:
重点
  1.理解各个设计模式的使用场景。
  2.对相似的设计模式(如观察者模式、订阅发布模式、中介者模式)能理解其异同点,打好基础,使后面学习框架的时候更加轻松自然。
应用
  1.订阅发布模式 => Vuex
  2.中间件模式 => Koa
# 1.1.2 学习技巧
- 把握本质 - javascript 中引用类型的值是按引用访问的。 
- javascript 在运行的时候始终是单线程的,不同的语句块是以队列的形式排列在 EventLoop 中按顺序执行的。 
 
- 思考差异(比较思考它们的区别和用途,加以深刻理解:) - Debounce VS Throttle。 
- 宏任务 VS 微任务 
- 代理模式 VS 装饰者模式 
 
- 在思考比较各种各种概念后,动手实现以便,加深理解 
 
 