写好 JavaScript | 青训营

38 阅读1分钟

原则

image.png

各司其职

  • HTML/CSS/JS各司其责
  • 应当避免不必要的由JS直接操作样式
  • 可以用class来表示状态
  • 纯展示类交互寻求零JS方案

组件封装

组件是指Web页面上抽出来一个个包含模版(HTML)、功能(JS)、和样式(CSS)的单元。 好的组件具备封装性、正确性、扩展性、复用性。

  • 结构设计
  • 展现效果
  • 行为设计
    • API(功能)
    • Event(控制流)

重构:插件化

解耦

  • 将控制元素抽取成插件
  • 插件与组件之间通过依赖注入方式建立联系

HTML模板化 image.png

抽象 image.png

总结

image.png

过程抽象

用来处理局部细节控制的一些方法 函数式编程思想的基础应用

高阶函数

  • 以函数作为参数
  • 以函数作为返回值
  • 常用于作为函数装饰器

image.png

image.png

命令式、声明式

代码质量优化

场景:洗牌 在没有抽到的牌里随机抽一个放到最后,不断循环这个过程,直到所有的牌都被抽到一次

场景:给n个人分红包 切西瓜法:随机切一刀,对剩下的最大的部分继续切,直到满足n份 插牌法:在1-红包总金额的列表汇总中,随机插入n-1块牌子,两块牌子间的差额就是一份红包的金额