两种方式实现节流函数
手写节流函数函数节流是指规定一个单位时间,在这个单位时间内,只能有一次触发事件的回调函数执行,如果在同一个单位时间内某事件被触发多次,只有一次能生效。节流可以使用在 scroll 函数的事件监听上,通过事件节流来降低事件调用的频率。
1,定义之前的时间为0
2,返回一个函数,获得this和参数,获得当前的时间戳
3,当前时间戳与之前的时间相减,大于wait则执行,并更新前一个时间
let count=0let box=document.getElementById('box')function hh(){box.innerHTML=count++
}box.onmousemove=tt(hh,1000)function tt(fn,wait){let old=0return function(){let that=thislet args=argumentslet now=+ new Date()if(now-old>wait){fn.apply(that,args)old=now}}
}
定时器实现:
function dd(fn,wait){let thia,args,treturn function(){thia=thisargs=argumentsif(!t){setTimeout(()=>{t=nullfn.apply(thia,args)},wait)}}
}
两种方式实现节流函数相关推荐
- DLL中导出函数的声明有两种方式
本文引用自:VC编程时DLL中导出函数的声明有两种方式 一种方式是:在函数声明中加上__declspec(dllexport): 另外一种方式是:采用模块定义(.def)文件声明,(.def)文件为链 ...
- EntityFramework Core 2.0自定义标量函数两种方式
前言 上一节我们讲完原始查询如何防止SQL注入问题同时并提供了几种方式.本节我们继续来讲讲EF Core 2.0中的新特性自定义标量函数. 自定义标量函数两种方式 在EF Core 2.0中我们可以将 ...
- [js] axios为什么可以使用对象和函数两种方式调用?是如何实现的?
[js] axios为什么可以使用对象和函数两种方式调用?是如何实现的? axios 源码 初始化 看源码第一步,先看package.json.一般都会申明 main 主入口文件. // packag ...
- java native函数库_Java 层调用 Native 层函数的两种方式
概述 Java 层如何调用Native层函数,大家都应该知道使用JNI(Java 本地接口). 通过在java层声明native方法,然后遵守JNI规范命名Native函数,即可建立Java层nati ...
- python循环展示大写字母_python调用大写函数python中字典的循环遍历的两种方式
开发中经常会用到对于字典.列表等数据的循环遍历,但是python中对于字典的遍历对于很多初学者来讲非常陌生,今天就来讲一下python中字典的循环遍历的两种方式. 注意: python2和python ...
- Google Earth Engine (GEE)——利用两种方式进行EVI指数(含函数的两种定义方式)
如何快速使用波段进行指数的计算,我们这里利用两种方式进行EVI指数计算,一种是利用expression的方式进行分析,虽然两种方法的结算结果都一样,但是代码有多有少,大家可以参考使用,但是两者的作用对 ...
- 【❗划重点!C语言函数参数传递只有两种方式(值传递,地址传递),不支持“引用传递”!❗】
引子 上篇文章<C语言函数传参の结构体数组篇>提到了C语言的函数参数传递方式,百度了一一一大圈,有说两种的,也有说三种的,简直把我搞晕了,"值传递和地址传递"是毫无疑问 ...
- 二级指针在子函数中申请内存的两种方式
二级指针:在主函数中申明变量,在子函数中分配内存,有两种方式返回二级指针.在这个过程只有深刻理解了C的函数调用模型,以及指针的内存模型,才能够掌握好. #pragma once #include &l ...
- 主程序调用动态库的两种方式,动态库调用主程序的函数
主程序调用动态库有两种方式,即隐式调用和显式调用. 隐式调用就是共享方式,程序一开始运行就调进去.在链接时候用如下的方式链接动态库:gcc -o main main.o -L./lib -ltest( ...
最新文章
- redisson的锁的类型_绝对干货:利用redisson完成分布式锁功能
- html不居中代码,HTML – 为什么我不能居中div?
- 用最快速度,打造「最强 Webpack 前端工具链」,强势运行
- Aloy:风格化角色的设计和建模
- Jboss/Wildfly安装配置
- 第三次学JAVA再学不好就吃翔(part37)--接口概述
- 通过Server-U设置网络共享文件夹的步骤和注意事项
- Currency Exchange
- 获取iPhone手机 UDID的方式--一网打尽(无论有无MAC电脑)
- 360极速浏览器调用selenium
- 第一章: 准备面试要知己知彼
- 利用background-position 制作图片爆炸的效果
- 廖雪峰老师个人网站推荐
- Python网络爬虫实战1:百度新闻数据爬取
- 用Python打造一个智能搜索淘宝商品,生成操作日志的系统
- 供应链管理系统--(1)退供管理
- LEA指令和OFFSET指令
- 复旦计算机夏令营英语口语,保研夏令营时间|复旦大学计算机学院2020保研夏令营...
- 扬州大学计算机控制技术课设,计算机控制技术的课设.doc
- C++_计算字符串长度