学习计划:
1.js 函数去抖 节流
(1).去抖:函数调用n秒后才会执行,如果函数在n秒内被调用的话则函数不执行,重新计算执行时间
(2).节流:函数预先设定一个执行周期,当调用动作的时刻大于等于执行周期则执行该动作,然后进入下一个新周期
2.vue 中 v-if 跟 v-show 的区别
(1).本质上的区别:vue-show本质就是标签display设置为none,控制隐藏;vue-if是动态的向DOM树内添加或者删除DOM元素
(2).编译的区别:v-show其实就是在控制css;v-if切换有一个局部编译/卸载的过程,切换过程中合适地销毁和重建内部的事件监听和子组件
(3).编译的条件:v-show都会编译,初始值为false,只是将display设为none,但它也编译了;v-if初始值为false,就不会编译了
(4).性能方面:v-show只编译一次,后面其实就是控制css,而v-if不停的销毁和创建,故v-show性能更好一点。
3.let var const 的区别
(1).1.const定义的变量不可以修改,而且必须初始化。
(2).var定义的变量可以修改,如果不初始化会输出undefined,不会报错。
(3).let是块级作用域,函数内部使用let定义后,对函数外部无影响。
4.箭头函数
箭头函数相当于匿名函数,并且简化了函数定义。箭头函数有两种格式,一种只包含一个表达式,连{ ... }和return都省略掉了。还有一种可以包含多条语句,这时候就不能省略{ ... }和return:
demo: 1.var func = () = > x * x;
2.var func =(参数1.参数2....) => {
语句1;
语句2;
};
5.promise
Promise是一个构造函数,自己身上有all、reject、resolve这几个眼熟的方法,原型上有then、catch等同样很眼熟的方法。
Promise的构造函数接收一个参数,是函数,并且传入两个参数:resolve,reject,分别表示异步操作执行成功后的回调函数和异步操作执行失败后的回调函数。其实这里用“成功”和“失败”来描述并不准确,按照标准来讲,resolve是将Promise的状态置为fullfiled,reject是将Promise的状态置为rejected。
then里面的函数就跟我们平时的回调函数一个意思
从表面上看,Promise只是能够简化层层回调的写法,而实质上,Promise的精髓是“状态”,用维护状态、传递状态的方式来使得回调函数能够及时调用,它比传递callback函数要简单、灵活的多。
网友评论