编程范式、理解CSS|青训营笔记

86 阅读2分钟

编程范式

一、课程介绍
背景:

1.前端的主要编程语言为JavaScript. 2. JavaScript 做为- -种融合了多种编程范式的语言,灵活性非常高. 3.前端开发人员需要根据场景在不同编程范式间自如切换。 4.进一步需要创造领域特定语言抽象业务问题。

收益:

1.了解不同编程范式的起源和适用场景。 2.掌握JavaScript在不同的编程范式特别是函数式编程范式的使用。 3.掌握创建领域特定语言的相关工具和模式。

二、编程语言

为什么需要编程语言:机器语言——汇编语言——高级语言 C(面向过程) C++(面向对象) Lisp(函数式) JavaScript(多范式)

三、编程范式

程序语言特性:是否允许副作用、操作的执行顺序、代码组织、状态管理、语法和词法

常见分类:命令式(面向过程、面向对象)声明式(函数式、响应式)

过程式编程:特点(自顶向下,结构化编程)缺点(数据与算法关联弱、不利于修改和扩充、不利于代码重用)

面向对象编程:特点(封装、继承、多态、依赖注入*)五大原则(单一职责原则、开发封闭原则、里式替换原则、依赖倒置原则、接口分离原则)缺点(总是附带所有需要的隐含环境)

函数式编程:一等函数、纯函数/无副作用、高阶函数/闭包

响应式编程:异步/离散的函数式编程(数据流、操作符)

四、领域特定语言

应用于特定领域的语言(如HTML、SQL)可由通用语言实现

附录: ●函数式编程 https://mostly- adequate.gitbook.io/mostly-adequate -guide https://ramdajs com/ nxjs.dev/ ●创建DSL parser工具 pegjs.org/ https://github. com/ antlr/antlr4 github.com/yiminghe/ki…

理解CSS

课程概述:

1.为什么学习css:让网页有更丰富的交互行为和视觉效果,能承载和展现更多信息量,更精准地传递信息

2课程范围:讲解部分CSS知识模块,如布局、层叠上下文等、讲解一些CSS生 态相关的知识、提供一个简明的知识脉络

一、基础知识

(Casading规则、选择器、继承、值和单位、盒模型)

层叠三大规则:(优先度递减)样式表来源》选择器优先级》源码位置

样式表来源重要排序:(重要程度递减)用户代理样式》用户样式表》作者样式表》作者样式表中的!important》用户样式表中的!important》用户代理样式表中的!important

二、布局和定位
三、层叠上下文
四、变形、过渡、动画
五、响应式设计
六、CSS生态相关

(待施工)