JS使用分时函数优化代码

这次给大家带来JS使用分时函数优化代码,JS使用分时函数优化的注意事项有哪些,下面就是实战案例,一起来看一下。

函数节流的原理是:延迟当前函数的执行,如果该次延迟还没有完成,那么忽略接下来该函数的请求。也就是说会忽略掉很多函数请求。

在一些开发场景中,我们可能会一次性向文档中注入上千个节点,在短时间内向浏览器中大量添加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);

登录后复制

相信看了本文案例你已经掌握了方法,更多精彩请关注【创想鸟】其它相关文章!

推荐阅读:

vue环境传递参数打包不同域名代码分析

Vue如何操作html字段字符串转换为HTML标签

以上就是JS使用分时函数优化代码的详细内容,更多请关注【创想鸟】其它相关文章!

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌抄袭侵权/违法违规的内容, 请发送邮件至253000106@qq.com举报,一经查实,本站将立刻删除。

发布者:PHP中文网,转转请注明出处:https://www.chuangxiangniao.com/p/2762493.html

(0)
上一篇 2025年3月8日 09:56:59
下一篇 2025年2月26日 04:02:51

AD推荐 黄金广告位招租... 更多推荐

相关推荐

  • JS验证输入保留指定小数

    这次给大家带来JS验证输入保留指定小数,JS验证输入保留指定小数的注意事项有哪些,下面就是实战案例,一起来看一下。 1、验证方法 validationNumber(e, num)  e代表标签对象,num代表保留小数位数 function …

    编程技术 2025年3月8日
    200
  • JS保留两位小数输入数校验代码

    这次给大家带来JS保留两位小数输入数校验代码,JS保留两位小数输入数校验的注意事项有哪些,下面就是实战案例,一起来看一下。 输入input 的格式校验: $(function(){var data = $.trim($(“#inputId”…

    编程技术 2025年3月8日
    200
  • JS保留一位数字后移除非数字

    这次给大家带来JS保留一位数字后移除非数字,JS保留一位数字后移除非数字的注意事项有哪些,下面就是实战案例,一起来看一下。 //去除非数字 var clearNoNum = function (item) { if (item!=null …

    编程技术 2025年3月8日
    200
  • JS刷新页面方法总结

    这次给大家带来JS刷新页面方法总结,JS刷新页面的注意事项有哪些,下面就是实战案例,一起来看一下。 JS刷新当前页面的几种方法总结 reload 方法,该方法强迫浏览器刷新当前页面 replace 方法,该方法通过指定URL替换当前缓存在历…

    编程技术 2025年3月8日
    200
  • JS DOM元素常见增删改查操作详解

    这次给大家带来JS DOM元素常见增删改查操作详解,JS DOM元素常见增删改查操作的注意事项有哪些,下面就是实战案例,一起来看一下。 DOM概念 DOM(Document Object Model):文档对象模型。 通过开发者工具的Ele…

    编程技术 2025年3月8日
    200
  • react-navigation使用总结(附代码)

    这次给大家带来react-navigation使用总结(附代码),react-navigation使用的注意事项有哪些,下面就是实战案例,一起来看一下。 看了官方文档的导航器对比,发现现在主推的方案是一个单独的导航库react-naviga…

    2025年3月8日
    200
  • 使用JS实现购物车功能步骤详解

    这次给大家带来使用JS实现购物车功能步骤详解,使用JS实现购物车功能的注意事项有哪些,下面就是实战案例,一起来看一下。 我们肯定都很熟悉商品购物车这一功能,每当我们在某宝某东上购买商品的时候,看中了哪件商品,就会加入购物车中,最后结算。购物…

    2025年3月8日 编程技术
    200
  • angularjs实现添加购物车金额计算功能

    这次给大家带来angularjs实现添加购物车金额计算功能,angularjs实现添加购物车金额计算功能的注意事项有哪些,下面就是实战案例,一起来看一下。 当我们用js或者jquery进行购物车金额计算的时候会非常麻烦,今天,我们用angu…

    2025年3月8日
    200
  • promise怎么替代代码中的回调函数

    这次给大家带来promise怎么替代代码中的回调函数,promise替代代码中回调函数的注意事项有哪些,下面就是实战案例,一起来看一下。 在学习 Node.js 过程中接触到了如何使用 async 来控制并发(使用 async 控制并发) …

    编程技术 2025年3月8日
    200
  • JS实现数组去重算法

    这次给大家带来JS实现数组去重算法,JS实现数组去重算法的注意事项有哪些,下面就是实战案例,一起来看一下。 测试用例: arr = [“1″,3,”1″,1,4,5,1,”2&#8…

    编程技术 2025年3月8日
    200

发表回复

登录后才能评论