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

在哪个网站有兼职做自己做的网站加载慢的原因

在哪个网站有兼职做,自己做的网站加载慢的原因,强生公司营销网站为什么要这样做,自助建站管理平台js知识点1:防抖节流 防抖节流 防抖节流,本质上是优化高频率执行代码的一种手段 定义: 防抖: n 秒后再执行该事件,若在 n 秒内被重复触发,则重新计时 节流: n 秒内只运行一次,若在 n 秒内重复触发&#xff0…

js知识点1:防抖节流

  • 防抖
  • 节流

防抖节流,本质上是优化高频率执行代码的一种手段
定义:
防抖: n 秒后再执行该事件,若在 n 秒内被重复触发,则重新计时
节流: n 秒内只运行一次,若在 n 秒内重复触发,只有一次生效

一个经典的比喻:
想象每天上班大厦底下的电梯。把电梯完成一次运送,类比为一次函数的执行和响应
假设电梯有两种运行策略 debounce 和 throttle,超时设定为15秒,不考虑容量限制

电梯第一个人进来后,15秒后准时运送一次,这是节流

电梯里第一个人进来后,等待15秒。如果过程中又有人进来,15秒等待重新计时,直到15秒后开始运送,这是防抖

首选,给出总结:

相同点
都可以通过使用 setTimeout 实现
降低回调执行频率。节省计算资源

不同点

函数防抖,在一段连续操作结束后,处理回调,利用clearTimeout和 setTimeout实现。函数节流,在一段连续操作中,每一段时间只执行一次,频率较高的事件中使用来提高性能
函数防抖关注一定时间连续触发的事件,只在最后执行一次,而函数节流一段时间内只执行一次

函数节流,不管事件触发有多频繁,都会保证在规定时间内一定会执行一次真正的事件处理函数
防抖只是在最后一次事件后才触发一次函数。

应用场景

例如,都设置时间频率为500ms,在2秒时间内,频繁触发函数,节流,每隔 500ms 就执行一次。防抖,则不管调动多少次方法,在2s后,只会执行一次

防抖应用场景:

搜索框输入查询、手机号、邮箱验证输入检测。只需用户最后一次输入完,再发送请求
窗口大小resize。只需窗口调整完成后,计算窗口大小,防止重复渲染。

节流应用场景:

监听滚动事件判断是否到页面底部自动加载更多
搜索联想功能
DOM元素的拖拽功能实现
射击游戏的 mousedown/keydown 事件(单位时间只能发射一颗子弹)
防止高频点击提交,防止表单重复提交;

防抖

以输入框查询功能为例:
在这里插入图片描述在这里插入图片描述

//html:
<span>查询:</span>
<input type="text" id="inputVal">//js:
//未处理
$(document).on("keyup","#inputVal",function(){//执行内容console.log($("#inputVal").val());
})//防抖处理
var timer=null;
$(document).on("keyup","#inputVal",function(){if(timer){//在执行中 (如果之前的定时器还存在,则清除)clearTimeout(timer);}//500ms后再触发timer=setTimeout(function(){//执行内容console.log($("#inputVal").val());timer=null;//本次查询完成,定时器清除,以便下次查询处理}, 500);
})

防抖函数封装:

//fn为事件处理函数 delay延迟时间
function debounce(fn, delay) {var timer = null;return function () {if (timer) {clearTimeout(timer);}timer = setTimeout(() => {fn.apply(this, arguments); //this和参数timer = null;}, delay);};
}

节流

以滚动页面到底部为例:
添加节流处理后的效果:scroll事件中的代码,会在事件触发时,每隔500ms触发一次。
在这里插入图片描述
在这里插入图片描述

//未处理var i=0;window.onscroll=function(){console.log(++i);var scrollTop=document.documentElement.scrollTop;var clientHeight=document.documentElement.clientHeight;var scrollHeight=document.documentElement.scrollHeight;var scrollHeight=document.documentElement.scrollHeight;if(scrollTop+clientHeight>=scrollHeight){console.log('到底了!');}}//防抖处理
var i=0;
var timer=null;
window.onscroll=function(){if(timer){return;}timer=setTimeout(function(){console.log(++i);var scrollTop=document.documentElement.scrollTop;var clientHeight=document.documentElement.clientHeight;var scrollHeight=document.documentElement.scrollHeight;var scrollHeight=document.documentElement.scrollHeight;if(scrollTop+clientHeight>=scrollHeight){console.log('到底了!');}timer=null;},500)
}

节流函数封装:

//节流封装function throttle(fn, delay) {var timer = null;return function () {if (timer) {return;}timer = setTimeout(() => {fn.apply(this, arguments);//把this和参数传递过去timer = null;}, delay);};}

参考:
https://baijiahao.baidu.com/s?id=1752769417074179461&wfr=spider&for=pc
https://baijiahao.baidu.com/s?id=1738733742087151995&wfr=spider&for=pc

http://www.yayakq.cn/news/508156/

相关文章:

  • 网站导航一定要一样吗建设山东公司网站
  • wordpress 添加下载地址镇江网站排名优化
  • 网站设计基本要素高级感ppt模板
  • 廊坊市建设局网站四川建设人才网网站
  • 下载app 的网站 如何做专业的企业进销存软件比较好
  • 用户体验差有哪些网站做领域细分行业需要建网站吗
  • 济南网站制作专业对网站建设建议
  • 杭州萧山做网站网页游戏排行榜图标
  • 泉州建设部网站云职上海企业服务有限公司
  • 天津品牌网站建设公司排名关键词竞价排名
  • 浅谈学校网站建设wordpress注册链接修改
  • 广州番禺网站建设公司网站开发技术介绍
  • 行业自助建站零售网站建设
  • 雄安新区网站建设wordpress中一个侧面导航实现异步
  • 目前做哪些网站能致富wordpress拒绝服务
  • wordpress不用ftp下载文件福州seo关键字推广
  • 国内网站设计公司巴中哪里可以做公司网站
  • 足球网站怎么做刷关键词怎么刷
  • 网站制作关键字排名魔方建站
  • 湖州做网站公司建设网站哪家好
  • 做网站友情链接的步骤甘肃最新消息
  • 网站升级维护中 模板app制作需要哪些技术
  • 中山市饮食网站建设母婴行业网站建设
  • 统一汤达人选择她做汤面活动网站陕西建设厅网站首页
  • 阿里巴巴网站建设的背景网站开发的形式
  • 广州学生做网站网站 制作价格表
  • 提升网站权重wordpress用户权限说明
  • 腾讯云做网站选哪个站长之家网页模板
  • wordpress学校网站模板wordpress 动态
  • 网站的封面怎么做湖南网站建设网站制作