函数节流与分时函数使用步骤详解
程序员文章站
2022-04-20 08:10:02
...
这次给大家带来函数节流与分时函数使用步骤详解,函数节流与分时函数使用的注意事项有哪些,下面就是实战案例,一起来看一下。
分时函数和函数节流的问题不一样,函数节流针对的事件不是用户主动调用的,前面已经提过了。
函数节流的原理是:延迟当前函数的执行,如果该次延迟还没有完成,那么忽略接下来该函数的请求。也就是说会忽略掉很多函数请求。
在一些开发场景中,我们可能会一次性向文档中注入上千个节点,在短时间内向浏览器中大量添加DOM节点可能会让浏览器吃不消,结果往往会让浏览器卡顿或吃不消,解决方案之一便是使用分时函数(timeChunk)。
timeChunk分时函数让创建节点的工作分批进行,比如一秒钟创建1000个节点,改为每个200ms创建10个节点。具体timeChunk函数封装如下:
function timeChunk( arr, fn, count){//arr 数组 fn操作函数 count每次操作数量 var obj, t; var start = function(){ var len = Math.min(count||1,arr.length); for(var i=0; i < len; i++){ obj = arr.shift(); fn(obj) } }; return function(interval){ t = setInterval(function(){ if(arr.length==0){ return clearInterval(t) }; start(); },interval||200) } }
应用:
加入我们要在文档中添加1000个节点,可以利用timeChunk分时函数每200ms连续添加20个节点。
var arr = []; for(var i = 1; i <= 1000; i++){ arr.push(i) } var renderLists = timeChunk(arr,function(i){ var p = document.createElement('p'); p.innerHTML = i; document.body.appendChild(p); },20); renderLists(200);
相信看了本文案例你已经掌握了方法,更多精彩请关注其它相关文章!
推荐阅读:
以上就是函数节流与分时函数使用步骤详解的详细内容,更多请关注其它相关文章!
上一篇: ps学会了能做什么工作
下一篇: php位运算符
推荐阅读
-
Python for循环与range函数的使用详解
-
18.C++-[ ]操作符使用 、函数对象与普通函数区别(详解)
-
Python3.5基础之函数的定义与使用实例详解【参数、作用域、递归、重载等】
-
基于PHP字符串的比较函数strcmp()与strcasecmp()的使用详解
-
详解WordPress开发中的get_post与get_posts函数使用
-
基于PHP选项与信息函数的使用详解
-
vue函数防抖与节流的正确使用方法
-
基于PHP选项与信息函数的使用详解
-
PHP中isset与empty的使用区别详解 isempty函数 toner empty running on empty
-
Python for循环与range函数的使用详解