如何写好 JavaScript| 青训营

92 阅读2分钟

一、JS的简介

JavaScript(JS) 是一种轻量级,解释型或编译的编程语言。虽然它是作为开发Web页面的脚本语言而出名,但它也被用到了很多非浏览器环境中,Javascript基于原型编程,多范式的动态脚本语言,并且支持面向对象、命令式、声明式、函数式编程范式。

二、写好js的一些原则

  • 各司其职:
    • 让Html CSS Javascript职能分离
  • 组件封装
    • 好的UI组件具备正确性 扩展性 复用性
  • 过程抽象
    • 应用函数式编程思想

但并不是说一个网站页面真的 HTML/CSS/JS各干各的事,互相之间没有一点联系,而是不是在必需js的前提下,尽量不使用js直接操作样式。 但判断是否 HTML/CSS/JS各司其职并不能仅仅通过他们是写在一个文件或者两个文件来判断,而是看他们是否做的是自己该做的内容,有没有越界的问题。 实际上,有些时候 HTML/CSS/JS的结合才会做出更多更有趣的效果。这也只是一些建议,而非必须的规定。

三、组件封装

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

关于组件封装几个注意点:

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

例子:设计一个轮播图
结构:HTML
轮播图是一个典型的列表结构,我们可以使用无序列表ul元素来首先
<div id="" >
    <ul>
        <li>放图片 </li>
        <li> 图片</li>
   </ul>
<div>

表现:CSS

  • 使用CSS绝对定位将图片重叠在同一个位置
  • 轮播图切换的状态使用修饰符(modifier)
  • 轮播图的切换动画使用CSS transition

行为:JS
API设计应保证原子操作,职能单一,保证灵活性

过程抽象

过程抽象 是用来处理局部细节控制的一些方法和函数式编程思想的基础应用,通常通过高阶函数(参数值为函数,返回值也为函数的一类函数)来实现

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

常用的高阶函数:

  • Once
  • Throttle
  • Debounce
  • Consumer
  • Iterative

编程范式又分为命令式声明式