如何写好JavaScript
应遵循三个原则:各司其责、组件封装、过程抽象。
1.各司其责
- HTML/CSS/JS各司其责;
- 避免不必要的直接使用JS操作样式;
- 使用class来表示状态;
- 纯展示类交互寻求零JS方案。
2.组件封装
-
组件是指Web页面上抽出来一个个包含模板(HTML)、样式(CSS)、功能(JS)的单元;
-
好的组件:封装性、正确性、扩展性、复用性。
2.1 基本方法
-
结构设计
-
展现效果
-
行为设计
- API(功能)
- Event(控制流)
2.2 重构
-
插件化
- 将控制元素抽象成插件;
- 插件与组件之间通过依赖注入的方式建立联系。
-
模板化
- 将HTML模板化,更易于扩展。
-
抽象
- 将组件通用模型抽象出来。
3.过程抽象
- 用来处理局部细节控制的一些方法
- 函数式编程思想的基础应用
-
3.1 高阶函数
- 以函数作为参数;
- 以函数作为返回值;
- 常用于作为函数装饰器。
-
3.2为什么使用高阶函数?
两种函数:纯函数和非纯函数
- 纯函数:输入的值一定时,输出的值一定,比较适合用于单元测试;
- 非纯函数:会依赖于外部环境。 通过高阶函数可以减少非纯函数的数量,增加系统的可靠性、稳定性。
编写JS代码需要关注的点
1.不要大量使用document.write()
2.检查客户端支持对象的能力(渐进式)而不是检查其客户端,测试要使用的对象。
3.访问既有HTML中的内容而不是通过Js添加HTML(行为层与结构层分离)
4.不要使用专有DOM对象(例如IE的document.all)
5.将脚本放进一个.js文件而不是在HTML中到处可见。
6.对运行良好而且不用客户端编程的网站进行改进,而不是首先添加脚本然后添加非脚本的备用方案。
7.代码要保持独立,不要使用可能与其他脚本冲突的全局变量。(可用对象字面量)
8.注释代码功能,因为将来维护代码的可能就是你自己。