首页 > 其他 > 详细

闭包,防抖,截流

时间:2021-07-16 10:50:17      阅读:14      评论:0      收藏:0      [点我收藏+]

?? 闭包

  • 闭包就是能够读取其他函数内部变量的函数,将函数内部和外部连接起来的一座桥梁,即定义在函数内部的函数。
  • 用途
    • 读取函数内部的变量
    • 让变量的值始终保持在内存中
  • 注意
    • 闭包对内存消耗很大,会影响网页的性能,在 IE 中可能导致内存泄漏,在退出函数之前,将不使用的局部变量全部删除
    • 闭包会在父函数外部,改变父函数内部变量的值
      • 如果把父函数当作对象 object 使用,将闭包当作公用方法 Public Method ,内部变量当作私有属性 private value 使用时,不要随便改变父函数内部变量的值

?? 防抖

  • 一定时间内,函数只会执行最后一次任务
  • 缺点:当用户在指定时间间隔中一直操作,那么 setTimeout 里的函数永远不会执行

?? 截流

  • 一定时间内,函数只执行一次
  • 缺点:如果用户一直操作,那么 setimeout 里的函数会在指定时间间隔后都会执行一次

?? 防抖截流的区别

  • 相同点
    • 都用到了 setTimeout 定时器
    • 都是在指定时间间隔后执行函数
    • 都是优化高频率执行 js 代码的一种手段
    • 都是为了解决数据时时变化而时时请求导致性能差的问题
  • 不同点
    • 防抖在指定时间间隔里再次调用函数,会清除定时器,重新计时,直到在最新的计时时间间隔里没有调用函数,才会执行定时器里的函数
    • 节流会在指定时间间隔后会执行一次函数,不会清除定时器而重新计时

闭包,防抖,截流

原文:https://www.cnblogs.com/svyt/p/15018197.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!