JavaScript | 青训营笔记

48 阅读2分钟

这是我参与「第五届青训营 」伴学笔记创作活动的第 3 天

今天学习的是javascript。

老师讲的第一节课中,js有几个原则,分别是各司其职,组件封装,过程抽象。

在各司其职中老师用几个版本的代码实现同一个效果,给我们展示应该如何优化我们写的代码,然后结论是HTML、css、js负责的模块不一样,我们要避免不必要的有js操作的css样式,可以用class表示状态。

组件封装原则

这堂课中老师讲到组件封装的原则:封装性,正确性,扩展性,复用性。 实现组件封装的步骤是: 1.结构设计 2.展现效果 3.行为设计

实现上面步骤后可以进行重构,分别是插件化,模板化,抽象化。

过程抽象

过程抽象是用来处理局部细节的一些方法。还有函数编程的思想的基础应用。

然后是一些常用高阶函数:HOF,throttle,debounce,consumer/2,iterative。

高阶函数是接受函数式参数或者返回函数的函数。

throttle是函数节流,限制函数在一定的时间内只能执行一次。函数节流常备用来防止一些事件或者函数被频繁的触发。一些常用的函数如click,mouseover在短期时间里频繁触发会造成计算机资源的一个浪费。

debounce是函数防抖。debounce是指函数执行一次后短期内再被触发,会重新计算函数的执行时间。

iterative是js的迭代器。iterative可以用来做遍历。他可以给不同的数据结构提供统一的遍历访问机制。所有的数据结构只要配置了iterative接口都可以实现数据的遍历。

image.png

如上图所示,给对象调用了iterative接口成功的遍历了shili对象里定义的数据。iteractive是es6的新特性。 这节课中我也是学到了很多,对于js也是有了更深入的一些了解,希望我们能再接再厉。