学习JavaScript | 青训营笔记

46 阅读2分钟

这是我参与「第五届青训营 」伴学笔记创作活动的第 3 天,javascript语言是前端里面很重要的一部分,这里记录一下老师上课的内容和一些重要的知识点。

主题的切换

一个浅色主题和深色主题切换的例子,包括基本方法和它的不断优化的方法。

基本方法: JS里面写点击按钮,随着按钮的切换来控制CSS背景颜色的切换,这种方法很简单,但是不符合各司其责的原则。

优化方法1: 不在JS里面直接进行CSS样式的切换,而是只修改类名,在CSS里面进行切换,与基本方法相比,这种方法实现了CSS和javascript的分离。

优化方法2: 直接在HTML和CSS实现,避免了由JS直接操作样式,符合纯展示交互寻求零JS方案。

轮播图的实现

之前使用VUE3写的网页里面有使用过轮播图,大致用法就是使用vant组件实现样式,数据由API中获取。课程中,采用原生JS实现轮播功能,包括五个方法getSelectedItem(),getSelectedItemIndex(),slideTo(),slideNext(),slidePrevious()。

通过currentIdx来实现图片的前后移动 小圆点是伴随着图片的出现来确定是否被选择的状态。

JS中的高阶函数

在大多数简单的术语中,函数式是一种编程形式,你可以将函数作为参数传递给其他函数,并将它们作为值返回。 在函数式编程中,我们以函数的形式思考和编程。

JavaScript,Haskell,Clojure,Scala 和 Erlang 是部分实现了函数式编程的语言。下面是一个简单的高阶函数。

function add(x, y, f) {
    return f(x) + f(y);
}
//当调用add(-5, 6, Math.abs)时,参数x,y和f分别接收-5,6和函数Math.abs,根据函数定义,可以推导计算过程为:
//x = -5;
//y = 6;
//f = Math.abs;
//f(x) + f(y) ==> Math.abs(-5) + Math.abs(6) ==> 11;
//return 11;

//用代码验证一下:
add(-5, 6, Math.abs); // 11

简而言之,高阶函数是一个可以接收函数作为参数,甚至返回一个函数的函数。 它就像常规函数一样,只是多了接收和返回其他函数的附加能力,即参数和输出。