[JavaScript 编码原则| 青训营笔记]

89 阅读2分钟

这是我参与「第六届青训营」笔记创作活动的第4天。活动详情:# 第六届青训营笔记伴读 | 升级学习体验,高效掌握知识

本节课从实践维度解读在实际编码过程中何种类型的 JavaScript 代码称之为“好代码”,并从 JS 出发,总结其他语言编码可遵循的共性原则。

各司其职:HTML、CSS、Javascript职能分离

  1. JavaScript 好代码的标准
  2. HTML/CSS/JS 各司其责

组件封装:封装性、正确性、扩展性、通用性

  1. 组件的定义解析及特征
  2. 组件封装基本方法
  3. 利用原生 JS 实现电商网站轮播图

常用的高阶函数:

  • Once:令事件只执行一次
  • Throttle:截留函数
  • Debounce:防抖
  • Consumer:每隔一段时间进行一次函数调用 延时调用
  • Iterative:可迭代方法

过程抽象:应用函数式编程思想

  1. 过程抽象概念
  2. 高阶函数使用模式
  3. JavaScript 编程范式

JS中数据类型的判断方式

  1. typeof(操作数):将操作数的类型返回,以字符串的形式表示。
  • 无法详细区分Object的详细类型(Array/Date/Null)
  1. instanceof 判断A是否为B的实例
  • 原理:监测左侧的__proto__原型链上是否存在右侧的prototype原型
  1. constructor:表示原型对象与构造函数间的关联关系。可以得知某个实例对象到底是由哪个构造函数产生的。
  • 可用于判断Object的详细类型。
  • 跨框架无效,因为prototype属性在不同框架间无法共享。
  • 将公用的方法或对象放置在原型对象上,避免每次创建对象时对相应的方法或对象进行重复添加。
  • 不可以判断Null和Undefined,因为其无constructor。
  1. Object.prototype.toString.call(A)
  • Object的原型方法,封装了一个准确判断数据类型的函数。
  • 可解决跨框架问题。