这是我参与「第六届青训营」笔记创作活动的第4天。活动详情:# 第六届青训营笔记伴读 | 升级学习体验,高效掌握知识
本节课从实践维度解读在实际编码过程中何种类型的 JavaScript 代码称之为“好代码”,并从 JS 出发,总结其他语言编码可遵循的共性原则。
各司其职:HTML、CSS、Javascript职能分离
- JavaScript 好代码的标准
- HTML/CSS/JS 各司其责
组件封装:封装性、正确性、扩展性、通用性
- 组件的定义解析及特征
- 组件封装基本方法
- 利用原生 JS 实现电商网站轮播图
常用的高阶函数:
- Once:令事件只执行一次
- Throttle:截留函数
- Debounce:防抖
- Consumer:每隔一段时间进行一次函数调用 延时调用
- Iterative:可迭代方法
过程抽象:应用函数式编程思想
- 过程抽象概念
- 高阶函数使用模式
- JavaScript 编程范式
JS中数据类型的判断方式
- typeof(操作数):将操作数的类型返回,以字符串的形式表示。
- 无法详细区分Object的详细类型(Array/Date/Null)
- instanceof 判断A是否为B的实例
- 原理:监测左侧的__proto__原型链上是否存在右侧的prototype原型
- constructor:表示原型对象与构造函数间的关联关系。可以得知某个实例对象到底是由哪个构造函数产生的。
- 可用于判断Object的详细类型。
- 跨框架无效,因为prototype属性在不同框架间无法共享。
- 将公用的方法或对象放置在原型对象上,避免每次创建对象时对相应的方法或对象进行重复添加。
- 不可以判断Null和Undefined,因为其无constructor。
- Object.prototype.toString.call(A)
- Object的原型方法,封装了一个准确判断数据类型的函数。
- 可解决跨框架问题。