文章目录
- 深浅拷贝
- 浅拷贝
- 深拷贝
 
- 异常处理
- 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
  
 视频节流
-  存储节流的时间 
  
-  获取节流的时间 
  



















