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/2763855.html

(0)
上一篇 2025年3月8日 10:20:59
下一篇 2025年3月5日 01:59:49

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

相关推荐

  • JS实现左右列表互相调换功能

    这次给大家带来JS实现左右列表互相调换功能,JS实现左右列表互相调换的注意事项有哪些,下面就是实战案例,一起来看一下。 实现功能: 1.左边的下拉框内容添加到右边的下拉框,支持多选移动,且同时将右边的下拉框对象移除; 2.支持列表中项目上下…

    2025年3月8日
    200
  • js获取ModelAndView需要哪些步骤

    这次给大家带来js获取ModelAndView需要哪些步骤,js获取ModelAndView的注意事项有哪些,下面就是实战案例,一起来看一下。 1 方法一 【有效】 可以的,跟el表达式访问方式一样。 示例代码,一个数据展示请求的Actio…

    编程技术 2025年3月8日
    200
  • jQuery+ajax读取json并排序方法详解

    这次给大家带来jQuery+ajax读取json并排序方法详解,jQuery+ajax读取json并排序的注意事项有哪些,下面就是实战案例,一起来看一下。 $.ajax({ url: ‘data.json’,//获取本地json数据,在同文…

    编程技术 2025年3月8日
    200
  • Angularjs实现控制器通信步骤详解

    这次给大家带来Angularjs实现控制器通信步骤详解,Angularjs实现控制器通信的注意事项有哪些,下面就是实战案例,一起来看一下。 利用angularjs开发项目中,控制器之间的通信,比如参数的传递,数据的传递,都是比较常见的。控制…

    编程技术 2025年3月8日
    200
  • js对数值数组进行去重与优化

    这次给大家带来js对数值数组进行去重与优化,js对数值数组进行去重与优化的注意事项有哪些,下面就是实战案例,一起来看一下。 前言 本文主要介绍了关于js构建二叉树进行数值数组的去重与优化的相关内容,分享出来供大家参考学习,下面话不多说了,来…

    编程技术 2025年3月8日
    200
  • JS实现红黑树步骤详解

    这次给大家带来JS实现红黑树步骤详解,JS实现红黑树的注意事项有哪些,下面就是实战案例,一起来看一下。 红黑树的性质 一棵满足以下性质的二叉搜索树是一棵红黑树 每个结点或是黑色或是红色。 根结点是黑色的。 每个叶结点(NIL)是黑色的。 如…

    2025年3月8日 编程技术
    200
  • JS怎么实现滑动拼图验证码

    这次给大家带来JS怎么实现滑动拼图验证码,JS实现滑动拼图验证码的注意事项有哪些,下面就是实战案例,一起来看一下。   上图为网易云盾的滑动拼图验证码,其应该有一个专门的图片库,裁剪的位置是固定的。我的想法是,随机生成图片,随机生成位置,再…

    2025年3月8日 编程技术
    200
  • vuejs中v-if和v-show使用详解

    这次给大家带来vuejs中v-if和v-show使用详解,vuejs中v-if和v-show使用的注意事项有哪些,下面就是实战案例,一起来看一下。 1.官网概念描述 v-if 是’真正的’条件渲染,因为它会确保在切换…

    2025年3月8日
    200
  • vue中使用jointjs详细说明

    这次给大家带来vue中使用jointjs详细说明,vue中使用jointjs的注意事项有哪些,下面就是实战案例,一起来看一下。 看完这篇文章,大家应该至少大致怎么做了,下面我们来具体看一下: 首先在vue项目中运行npm install j…

    编程技术 2025年3月8日
    200
  • 源生Node.js注册邮箱激活说明详解

    这次给大家带来源生Node.js注册邮箱激活说明详解,源生Node.js注册邮箱激活的注意事项有哪些,下面就是实战案例,一起来看一下。 在做自己的node项目极客教程时,需要开发一个注册邮箱激活的功能,这个功能非常常见,当我们注册一个账号时…

    2025年3月8日
    200

发表回复

登录后才能评论