这是我参加【第四届青训营】笔记活动的第一天
一.JavaScript的简介
- JavaScript是为了适应动态网页制作的需要而诞生的,如今越来越广泛的使用web开发。他是一种脚本语言(脚本语言是一种轻量级的编程语言),也是一种解释性语言(也就是说代码执行前不进行预编译)。
- 特点:短小精悍,基于事件驱动的语言,面向对象,较于安全的语言,在不同的浏览器有兼容性问题(不同浏览器对JavaScript的标准所遵循和实现的程度不同所导致的)
二.JavaScript的基本语法
<script type="text/javascript"[src="外部js文件"]></script>
三.什么样才算好的代码
- 让Html,css,javascript职能分离
- 组件封装:好的UL组件具备正确性,扩展性,复用性
- 过程抽象:应用函数式编程思想
四.完成不同效果后的结论
- HTML/CSS/JS各司其责
- 应当避免不必要的有JS直接操作样式
- 可以用class来表示状态
- 纯展示类交互寻求零JS方案
五.组件封装
- 组件是指web页面上抽出一个个包含模板(HTML),功能(JS)和样式(css)的单元,好的组件具备封装性,正确性,扩展性,复用性
- 结构:使用HTML实现结构
- 表现:使用css实现样式和动画
- 行为:js控制流(使用自定义事件来解耦)
- 总结基本方法:
- 结构设计
- 展现效果
- 行为设计【API(功能) Event(控制流)】
重构:插件化 解耦
- 将控制元素抽取成插件
- 插件与组件之间通过依赖注入方式建立联系
- 将HTML模板化,更易于扩展
解耦
抽象 将组件通用模型抽象出来
过程抽象
- 用来处理局部细节控制的一些方法
- 函数式编程思想的基础应用
组件封装总结
- 组件设计的原则:封装性、正确性、扩展性、复用性
- 实现组件的步骤:结构设计、展现效果、行为设计
- 三次重构
- 插件化
- 模板化
- 抽象化(组件框架) 组件是指Web页面上抽出来一个个包含模版(HTML)、功能(JS)和样式(CSS)的单元。好的组件具备封装性、正确性、扩展性、复用性。
六.高阶函数
once
为了能够让“只执行一次“的需求覆盖不同的事件处理,我们可以将这个需求剥离出来。这个过程我们称为过程抽象。
HOF
- 以函数作为参数
- 以函数作为返回值
- 常用于作为函数装饰器
编程范式
命令式与声明式
编程范式总结
- 过程抽象 / HOF / 装饰器
- 命令式 / 声明式