当前位置: 首页 > wzjs >正文

北京专业网站开发公司比较有名的个人网站

北京专业网站开发公司,比较有名的个人网站,云建站空间,西安市未央区建设局官方网站防抖:n秒内只执行一次,输入框搜索,窗口resize 事件被触发后,等一段时间(比如300ms)没有再触发时,才执行一次函数。如果在这段时间内又触发了事件,则重新计时。 场景举例 输入框搜…

防抖:n秒内只执行一次,输入框搜索,窗口resize

事件被触发后,等一段时间(比如300ms)没有再触发时,才执行一次函数。如果在这段时间内又触发了事件,则重新计时。

场景举例

  1. 输入框搜索:用户输入时不马上请求接口,等停止输入一段时间后才发送请求,避免频繁调用接口。
  2. 调整窗口大小:窗口尺寸变化频繁,只在调整停止后执行一次重绘。
function debounce(func, delay) {let timer = null;return function(...args) {clearTimeout(timer);timer = setTimeout(() => {func.apply(this, args);}, delay);};
}

解析

  • timer 用来保存当前计时器。
  • 每次触发函数时,先清除旧的计时器。
  • 设置新的计时器,延迟 delay 毫秒后执行目标函数 func。
  • apply(this, args) 保持调用时的上下文和参数。

节流 每隔n秒执行一次,滚动

保证在一个固定时间间隔内,函数最多执行一次。即使触发事件很多,函数调用频率也会被限制。

场景举例
滚动加载:监听滚动事件时,不想频繁调用函数,节省性能。
按钮连续点击防止多次提交。

function throttle(func, delay) {let lastTime = 0;return function(...args) {const now = new Date.getTime();if (now - lastTime >= delay) {lastTime = now;func.apply(this, args);}};
}

解析

  • lastTime 记录上一次执行函数的时间戳。
  • 当前时间 now 减去 lastTime 大于等于间隔时,执行函数,并更新时间戳。
  • 其他触发在这段时间内的调用都会被忽略。



参考:

【JS】防抖(debounce)和节流(throttle)

JavaScript 防抖 - Web前端工程师面试题讲解-b站
JavaScript 节流 - Web前端工程师面试题讲解-b站

http://www.dtcms.com/wzjs/71225.html

相关文章:

  • 在线视频网站开发方案phpseo百度快速排名
  • 世界球队最新排名榜免费推广seo
  • 新余哪有做网站的公司网站搭建源码
  • 怎么用wordpress做网站百度助手安卓版下载
  • 怎样给网站做排名优化小说关键词提取软件
  • 网站维护的主要内容做网站建设公司
  • 济南网站优化推广网站模板下载免费
  • 建设一个网站需要多久多少钱百度搜索大数据查询
  • 上海做兼职上哪个网站海外推广解决方案
  • 国外有什么做网站的软件吗windows优化大师是自带的吗
  • 做一个企业网站设计常用的关键词优化策略有哪些
  • 如何建设移动端网站市场调研分析
  • 做旅游项目用哪家网站好河南怎样做网站推广
  • 网站建设dw站点建设谷歌seo实战教程
  • 免费网站建设哪个好 - 百度铜川网站seo
  • 为企业建网站国际新闻网
  • 转包网站建设做非法事情怎么网络推广
  • 腾讯街景地图实景下载苏州seo优化公司
  • 网站建设浩森宇特锦州seo推广
  • 做网站模板快速排名提升
  • 网站联系我们 怎么做地图神马搜索推广
  • 手机wap网站用什么语言开发推广平台排名
  • 网站和虚拟服务器比较好网站制作公司
  • 做网站构建搜索引擎网页
  • 芜湖龙湖建设工程有限公司网站建网站多少钱
  • 企业级java电商网站开发360优化大师app
  • 一般网站建设步骤广西网站建设
  • 宁波网站推广运营公司上海关键词优化报价
  • 做淘宝导购网站网站关键词优化排名软件
  • 用vs网站开发卢松松外链工具