JavaScript|青训营笔记

73 阅读2分钟

这是我参加【第四届青训营】笔记活动的第一天

一.JavaScript的简介

  1. JavaScript是为了适应动态网页制作的需要而诞生的,如今越来越广泛的使用web开发。他是一种脚本语言(脚本语言是一种轻量级的编程语言),也是一种解释性语言(也就是说代码执行前不进行预编译)。
  2. 特点:短小精悍,基于事件驱动的语言,面向对象,较于安全的语言,在不同的浏览器有兼容性问题(不同浏览器对JavaScript的标准所遵循和实现的程度不同所导致的)

二.JavaScript的基本语法

<script type="text/javascript"[src="外部js文件"]></script>

三.什么样才算好的代码

  1. 让Html,css,javascript职能分离
  2. 组件封装:好的UL组件具备正确性,扩展性,复用性
  3. 过程抽象:应用函数式编程思想

四.完成不同效果后的结论

  • HTML/CSS/JS各司其责
  • 应当避免不必要的有JS直接操作样式
  • 可以用class来表示状态
  • 纯展示类交互寻求零JS方案

五.组件封装

  • 组件是指web页面上抽出一个个包含模板(HTML),功能(JS)和样式(css)的单元,好的组件具备封装性,正确性,扩展性,复用性
  • 结构:使用HTML实现结构
  • 表现:使用css实现样式和动画
  • 行为:js控制流(使用自定义事件来解耦)
  • 总结基本方法:
  1. 结构设计
  2. 展现效果
  3. 行为设计【API(功能) Event(控制流)】

重构:插件化 解耦

  • 将控制元素抽取成插件
  • 插件与组件之间通过依赖注入方式建立联系
  • 将HTML模板化,更易于扩展

解耦 t0196498fb325ccb123.png 抽象 将组件通用模型抽象出来

2.png

过程抽象

  • 用来处理局部细节控制的一些方法
  • 函数式编程思想的基础应用

3.png

组件封装总结

  • 组件设计的原则:封装性、正确性、扩展性、复用性
  • 实现组件的步骤:结构设计、展现效果、行为设计
  • 三次重构
    1. 插件化
    2. 模板化
    3. 抽象化(组件框架) 组件是指Web页面上抽出来一个个包含模版(HTML)、功能(JS)和样式(CSS)的单元。好的组件具备封装性、正确性、扩展性、复用性。

六.高阶函数

once

为了能够让“只执行一次“的需求覆盖不同的事件处理,我们可以将这个需求剥离出来。这个过程我们称为过程抽象

4.png

HOF

  • 以函数作为参数
  • 以函数作为返回值
  • 常用于作为函数装饰器

编程范式

命令式与声明式

6.png

7.png

编程范式总结

  • 过程抽象 / HOF / 装饰器
  • 命令式 / 声明式