一、函数节流
函数节流: 可以使一些频繁触发的函数事件受到限制,可以使函数在一定的时间之内或者满足某些条件之后再去执行。
设一个变量lock 取值是布尔值
var lock = true 函数可以执行
lock = false, 函数不可以执行
举例:
1 // 定义锁
var lock = true;
2 function a() {
3 if (!lock) {
4 return;
5 }
6 lock = false;
7 }
8
1.1 延时器
可以比喻成定时炸弹,在一定的时间只会执行一次
使用方式:
setTimeout(fn, time)
fn: 要执行的函数
time: 要延迟的时间
举例:
1 var lock = true;
2 function b() {
3 if (!lock) {
4 return;
5 }
6 lock = false;
7 // 在3s之后打开锁,使用延时器
setTimeout(function() {
8 // 打开锁
lock = true;
9
10 }, 3000)
11 }
二、this
this表示触发事件的对象。
each()方法的参数是一个函数, 函数中的this表示遍历到的该对象。
函数中也有this, 如果当函数自执行,this指向window.</