欢迎光临
我的个人博客网站

闭包,防抖,截流

🎄 闭包

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

🎄 防抖

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

🎄 截流

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

🎄 防抖截流的区别

  • 相同点
    • 都用到了 setTimeout 定时器
    • 都是在指定时间间隔后执行函数
    • 都是优化高频率执行 js 代码的一种手段
    • 都是为了解决数据时时变化而时时请求导致性能差的问题
  • 不同点
    • 防抖在指定时间间隔里再次调用函数,会清除定时器,重新计时,直到在最新的计时时间间隔里没有调用函数,才会执行定时器里的函数
    • 节流会在指定时间间隔后会执行一次函数,不会清除定时器而重新计时
赞(0) 打赏
未经允许不得转载:张拓的天空 » 闭包,防抖,截流
分享到: 更多 (0)

评论 抢沙发

  • 昵称 (必填)
  • 邮箱 (必填)
  • 网址

专业的IT技术经验分享 更专业 更方便

联系我们本站主机

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

微信扫一扫打赏