深入理解JS | 青训营笔记

53 阅读2分钟

如何写好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.注释代码功能,因为将来维护代码的可能就是你自己。