简单入门到彻底搞懂防抖和节流

       今日头条出的题目是写一个防抖函数,,根据用户输入的词语,提交后端进行模糊查询,按输入次序显示服务器返回结果。
    
       原题目,面试官写的是注意防抖和次序。

      他的要求是: 比如输入非常快的提交了三次 a, b,c 三个字母。由于服务器响应慢,客户端已经提交c查询,但是服务器才返回的b的查询结果(这个用闭包,其实来闭包也有问题,典型如何处理异常)。
      

        面试官出的这道题的确很有代表性,前端开发中经常会遇到的问题,重复执行,表单重复提交,不管前后端开发都应该了解。这个题跟我大约2012年6月,腾讯网www.qq.com 首页改版上线,做的一个搜索模块很相似, 那时候在腾讯是我职业生涯中第一个前端开发工作。

        当时这个项目,填了几个坑:

         1.必须用原生javascript代码,腾讯网首页那时候可不让你引入jquery,引入一个大js这么大的访问量得浪费多少钱?:)
         2.就是层遮盖的问题,输入关键字 关键字弹层是摊在输入框下方,那时候搜索框下面有flash,一不小心就被flash盖住
   最坑的是还有飞来飞去的广告
         3.其次就是后端返回的智能提示元素个数不相同,还有可能不返回,元素个数不同,就需要代理机制,冒泡到上层处理
         4.另外就是css的问题,网页/图片/视频等栏目蓝色框是要覆盖的,各位看官仔细看,鼠标移动到“网页”下拉前下面是蓝色边框,移动过去后变没了。最先版本还记录用户鼠标从哪移的,点击了那个栏目,再跟关键词点击关联就跟复杂了。

         5. 因为这个作为一个模块,就是css动态加载,动态加载简单,加载进来能用,不跟其他人冲突,处理起来也琐碎。

         6.与分类栏目相关的关键词搜索,以及日志记录

         7.异常处理

          另外就是面试官说的那两个问题。我觉得最经典的就是防抖。虽然简单,但却经典,稍后介绍。

 

  • 0
    点赞
  • 10
    收藏
    觉得还不错? 一键收藏
  • 3
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值