← 返回目录

第 4 卷

第 4 / 8 卷作者:13611日期:

let timer = null;

4 return function(...args){ 5

clearTimeout(timer);

6 if(flag&&!timer){ 7

handler.apply(this,args);

8 } 9

timer = setTimeout(()=>{ 10handler.apply(this,args);

11},ms)

12} 13}

14//demo

15window.addEventListener('resize',debounce(handler,1000));
16functionhandler(){
17console.log('ok');
18}

节流

原理:

节流( throttle):不管事件触发频率多高,只在单位时间内执行㇐次。(频繁触发,还是按照时间间隔执行)

应用场景:

  1. 鼠标不断点击触发,mousedown(单位时间内只触发㇐次)
  2. 监听滚动事件,比如是否滑到底部自动加载更多,用throttle 来判断

节流实现

  • 和防抖不同的是,防抖中是取消定时器,节流中是定时器到时间自动执行,仅仅是将 timer 变量设置为 null
  • 时间戳版:第㇐次执行,最后㇐次不执行
图 13-1
图 13-1

手写深拷贝

实现柯里化

柯化是把接受多个参数的

受余下的参数且返回结果的

某种意义上就是预置

1 function add(a, b) { return a + b; } 2

var add1 = function(val) { return add(1 + val) }

柯里化有延迟计算的作用,参数的缓存是通过闭包实现的,所以实现上可以是:

实现发布订阅模式

发布订阅模式本质上是实现㇐个事件总线。只要实现其核心的 on, emit, off, remove, once 等方法即可。

本卷图片

本页图片

第 12 页图片 1
图 12-1
第 12 页图片 2
图 12-2
第 12 页图片 3
图 12-3
第 12 页图片 4
图 12-4
第 12 页图片 5
图 12-5
第 12 页图片 6
图 12-6
第 12 页图片 7
图 12-7
第 12 页图片 8
图 12-8
第 12 页图片 9
图 12-9
第 12 页图片 10
图 12-10
第 12 页图片 11
图 12-11
第 12 页图片 12
图 12-12
第 12 页图片 13
图 12-13
第 12 页图片 14
图 12-14
第 12 页图片 15
图 12-15
第 12 页图片 16
图 12-16
第 12 页图片 17
图 12-17
第 12 页图片 18
图 12-18
第 12 页图片 19
图 12-19
第 12 页图片 20
图 12-20
第 12 页图片 21
图 12-21
第 12 页图片 22
图 12-22
第 12 页图片 23
图 12-23
第 12 页图片 24
图 12-24
第 12 页图片 25
图 12-25
第 12 页图片 26
图 12-26
第 12 页图片 27
图 12-27
第 12 页图片 28
图 12-28
第 12 页图片 29
图 12-29
第 12 页图片 30
图 12-30
第 12 页图片 31
图 12-31
第 12 页图片 32
图 12-32
第 12 页图片 33
图 12-33
第 12 页图片 34
图 12-34
第 12 页图片 35
图 12-35
第 12 页图片 36
图 12-36
第 12 页图片 37
图 12-37
第 12 页图片 38
图 12-38
第 12 页图片 39
图 12-39

本页图片

第 13 页图片 1
图 13-1
第 13 页图片 2
图 13-2
第 13 页图片 3
图 13-3
第 13 页图片 4
图 13-4
第 13 页图片 5
图 13-5
第 13 页图片 6
图 13-6
第 13 页图片 7
图 13-7
第 13 页图片 8
图 13-8
第 13 页图片 9
图 13-9
第 13 页图片 10
图 13-10
第 13 页图片 11
图 13-11
第 13 页图片 12
图 13-12
第 13 页图片 13
图 13-13
第 13 页图片 14
图 13-14
第 13 页图片 15
图 13-15
第 13 页图片 16
图 13-16
第 13 页图片 17
图 13-17
第 13 页图片 18
图 13-18
第 13 页图片 19
图 13-19
第 13 页图片 20
图 13-20
第 13 页图片 21
图 13-21
第 13 页图片 22
图 13-22
第 13 页图片 23
图 13-23
第 13 页图片 24
图 13-24
第 13 页图片 25
图 13-25
第 13 页图片 26
图 13-26
第 13 页图片 27
图 13-27
第 13 页图片 28
图 13-28
第 13 页图片 29
图 13-29
第 13 页图片 30
图 13-30
第 13 页图片 31
图 13-31
第 13 页图片 32
图 13-32
第 13 页图片 33
图 13-33
第 13 页图片 34
图 13-34
第 13 页图片 35
图 13-35
第 13 页图片 36
图 13-36
第 13 页图片 37
图 13-37
第 13 页图片 38
图 13-38
第 13 页图片 39
图 13-39
第 13 页图片 40
图 13-40
第 13 页图片 41
图 13-41
第 13 页图片 42
图 13-42
第 13 页图片 43
图 13-43
第 13 页图片 44
图 13-44
第 13 页图片 45
图 13-45
第 13 页图片 46
图 13-46
第 13 页图片 47
图 13-47
第 13 页图片 48
图 13-48
第 13 页图片 49
图 13-49
第 13 页图片 50
图 13-50
第 13 页图片 51
图 13-51
第 13 页图片 52
图 13-52
第 13 页图片 53
图 13-53
第 13 页图片 54
图 13-54
第 13 页图片 55
图 13-55
第 13 页图片 56
图 13-56
第 13 页图片 57
图 13-57
第 13 页图片 58
图 13-58
第 13 页图片 59
图 13-59

本页图片

第 14 页图片 1
图 14-1
第 14 页图片 2
图 14-2
第 14 页图片 3
图 14-3
第 14 页图片 4
图 14-4
第 14 页图片 5
图 14-5
第 14 页图片 6
图 14-6
全站分卷索引 · 8 卷
  1. 1第 1 卷
  2. 2第 2 卷
  3. 3第 3 卷
  4. 4第 4 卷
  5. 5第 5 卷
  6. 6第 6 卷
  7. 7第 7 卷
  8. 8第 8 卷