JavaScript 学习 | 青训营笔记

59 阅读2分钟

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

一、本堂课重点内容:

本节课学习知识内容:
  • JavaScript 编码原则之各司其职
  • JavaScript 编码原则之组件封装
  • JavaScript 编码原则之过程抽象

二、详细知识点介绍:

  • 本堂课介绍了JavaScript 好代码的标准、HTML/CSS/JS 各司其责、组件的定义解析及特征、组件封装基本方法、过程抽象概念、高阶函数使用模式、JavaScript 编程范式

三、实践练习例子:

  • 通过深夜食堂三种版本代码书写讲解了javaScript编码原则之各司其职,以下是以JS改进版本的代码,实际上可以通过对CSS的控制实现页面样式的切换。
const btn=document.getElementById('btn');
btn.addEventListener('click', (e) =>{
  const body=document.body;
  if(body.className !== 'night'){
    body.className='night';
  }else{
    body.className='';
  }
});
  • 通过对轮播图的制作讲解组件封装。
  • 使用CSS绝对定位将图片重叠在同一个位置;使用API实现行为功能:getSelectedItem(),getSelectedItemIndex(),slideTO(),slidePrevious();;实现控制流;
  • 通过操作次数限制例子讲解过程抽象概念;
  • 列举了几个高阶函数进行描述
function throttle(fn, time = 200){
  let timer;
  return function(...args){
    if(timer == null){
      fn.apply(this,  args);
      timer = setTimeout(() => {
        timer = null;
      }, time)
    }
  }
}
btn.onclick = throttle(function(e){
  circle.innerHTML = parseInt(circle.innerHTML) + 2;
  circle.className = 'Success';
  setTimeout(() => circle.className = '', 300);
});

该代码参考教程重新书写页面的代码

四、课后个人总结:

  • 为什么使用高阶函数?
  1. 将函数作为参数传入或作为结果返回的函数,使用高阶函数可以实现函数分离,高阶函数是创建抽象的强大工具,换句话说,就是要找到模式中的模式。
  • 总结
  1. 在学习JS课程之后,对JS更加深入,边学习基础知识,听着课程重做了每一个案例,以实操的方式进一步了解JS代码的逻辑及规范。在之后的学习中将多做更多的例子巩固JS知识。

五、引用参考: