这是我参与「第四届青训营 」笔记创作活动的第6天
如何写好Javascript
JavaScript(简称“JS”) 是一种具有函数优先的轻量级,解释型或即时编译型的编程语言。虽然它是作为开发Web页面的脚本语言而出名,但是它也被用到了很多非浏览器环境中,JavaScript 基于原型编程、多范式的动态脚本语言,并且支持面向对象、命令式、声明式、函数式编程范式。
各司其职
- 让HTML、CSS和JavaScript职能分离。
- 应当避免不必要的由JS直接操作样式
- 可以用class来表示状态
- 纯展示类交互寻求零JS方案
组件封装
- 好的UI组件具备正确性、扩展性、复用性。
- 组件是指Web页面上抽出来一个个包含模版(HTML)、功能(JS)和样式(CSs)〉的单元。
- 好的组件具备封装性、正确性、扩展性、复用性。
- 轮播图是一个典型的列表结构,我们可以使用无序列表ul元素来实现。使用CSS绝对定位将图片重叠在同一个位置;轮播图切换的状态使用修饰符(modifier);轮播图的切换动画使用cSS transition。
- 组件封装基本方法:结构设计、展现效果、行为设计(API功能、Event控制流)
- 三次重构:插件化、模板化、抽象化。
过程抽象
- 应用函数式编程思想。
- 用来处理局部细节的一些控制方法。
- 高阶函数
-
HOF,以函数作为参数,以函数作为返回值,常用于作为函数装饰器。
-
函数式编程不是用函数来编程,也不是传统的面向过程编程。主旨在于将复杂的函数符合成简单的函数(计算理论,或者递归论,或者拉姆达演算)。运算过程尽量写成一系列嵌套的函数调用。
-
JavaScript的函数其实都指向某个变量。既然变量可以指向函数,函数的参数能接收变量,那么一个函数就可以接收另一个函数作为参数,这种函数就称之为高阶函数。
-
Once,为了能够让"只执行一次"的需求覆盖不同的事件处理,我们可以将这个需求剥离出来。这个过程我们称为过程抽象。