文章目录
- 深浅拷贝
- 浅拷贝
- 深拷贝
- 异常处理
- thorw抛异常
- try/catch捕获异常
- debugger
- 处理this
- this指向
- 改变this
- 性能优化
- 防抖
- lodash实现防抖
- 手写防抖函数
- 节流 - throttle
深浅拷贝
浅拷贝


深拷贝
深拷贝有三种方式
-
通过递归实现深拷贝
一定先写数组再写对象

-
lodash/cloneDeep

-
通过JSON.stringify()实现

异常处理
thorw抛异常

try/catch捕获异常

debugger

处理this
this指向
普通函数this指向

箭头函数this指向



改变this
JavaScript中还允许指定函数中this的指向,有三个方法可以动态指定普通函数中this的指向
-
call()


-
apply()

- bind()


总结

性能优化
防抖


lodash实现防抖

手写防抖函数


节流 - throttle


-
lodash实现节流函数

-
手写一个节流函数


为什么使用timer = null的操作?
因为在setTimeout中是无法删除定时器的,因为定时器还在运作所以使用timer = null

视频节流 -
存储节流的时间

-
获取节流的时间




















