这是我参与「第四届青训营 」笔记创作活动的第3天
1.什么是JavaScript?
JS是一种具有(轻量级、解释性)或(即时编译型语言)的脚本语言
1.1 JS的组成
JS是由:ECMAScript、DOM、BOM组成。
-
ECMAScript:描述了该语言的语法和基本对象。 -
BOM(文档对象模型):处理网页内容的方法和接口。 -
DOM(浏览器对象模型):与浏览器进行交互的方法和接口。
2.写好JS的一些原则
2.1 各司其职
-
HTML/CSS/JS 各司其责 -
应当避免不必要的由 JS 直接操作样式 -
可以用 class 来表示状态 -
纯展示类交互寻求零 JS 方案
2.2 封装组件
2.2.1 组件设计的原则:
-
封装性、正确性、扩展性、复用性
2.2.2 组件封装基本方法和步骤:
-
结构设计、展现效果、行为设计(API(功能)、Event(控制流))
2.2.3 三次重构
1. 插件化-将控制元素抽取成插件、插件与组件之间通过依赖注入方式建立联系。
2. 模板化-将HTML模板化,更易于kuoz。
3. 抽象化(组件框架)-将组件通用模型抽象出来。
2.3 过程抽象
- 为了能够让只执行一次的需求覆盖不同的事件处理,我们可以将这个需求剥离出来。这个过程我们称为过程抽象。
- 特点:
用来处理局部细节控制的一些方法函数式编程思想的基础应用
3.高阶函数
3.1 什么是高阶函数?
- 高阶函数式对其他函数进行操作的函数,它接收函数作为参数或将函数作为返回值输出。
- 特点:
以函数作为参数以函数作为返回值常用于作为函数装饰器
3.2 常用的高阶函数
- Once:是一个简单执行一次的函数,无视后来产生的多次执行请求。
- Throttle:一个函数持续地、频繁地触发,那么让它在一定时间间隔后再触发。
- Debounce:一个函数持续地触发,那么只在它结束后过一段时间只执行一次
- Consumer:每隔一段时间才会去调用函数,但是会根据用户需求次数执行到底。
- lterative:可迭代方法,它会返回新的函数,在新的函数中并进行判断,如果可迭代,则迭代的调用新函数里的方法,如果不可迭代,只执行一次。
4.编程范式
编程范式有三种:命令式、声明式和函数式。
4.1 命令式
命令式编程:是关注计算机执行的步骤,即一步一步告诉计算机先做什么再做什么。
4.2 声明式
声明式编程:是以数据结构的形式来表达程序执行的逻辑。即告诉计算机应该做什么,但不指定具体要怎么做
4.3 函数式
函数式编程:以函数为第一位,即函数可以出现在任何地方,可以把函数作为参数传递给另一个函数,即关注做什么而不是怎么做。