JS简单测试循环运行时间的方法

 更新时间:2016年09月04日 10:15:57   作者:onestopweb  
这篇文章主要介绍了JS简单测试循环运行时间的方法,涉及针对javascript中for循环、for...in循环及foreach循环的相关使用方法及运行时间测试,需要的朋友可以参考下

本文实例讲述了JS简单测试循环运行时间的方法。分享给大家供大家参考,具体如下:

<!DOCTYPE html>
<html lang="zh-cn">
<head>
<meta charset="UTF-8">
<title>JS 测试循环运行的时间</title>
<script>
  var arr = [];
  var max = 10000000;
  //加载
  window.addEventListener("load", function () {
    setTimeout(function () {
      //初始化arr
      for (var i = 0; i < max; i++) {
        arr[i] = i + 1;
      }
      //显示所有按钮
      document.getElementById("div1").style.display = "block";
      document.getElementById("div2").style.display = "none";
    }, 1);
  });
  //1) 使用 for 循环
  function test1() {
    var d1 = new Date();
    var sum = 0;
    for (var i = 0; i < arr.length; i++) {
      sum += arr[i]
    }
    var d2 = new Date();
    var x = d2 - d1;
    console.log("for计算结果:" + sum + ",用时:" + x);
  }
  //2) 使用 for..in 循环
  function test2() {
    var d1 = new Date();
    var sum = 0;
    for (var i in arr) {
      sum += arr[i]
    }
    var d2 = new Date();
    var x = d2 - d1;
    console.log("for..in计算结果:" + sum + ",用时:" + x);
  }
  //3) 使用 forEach 循环
  function test3() {
    var d1 = new Date();
    var sum = 0;
    arr.forEach(function (n) {
      sum += n;
    })
    var d2 = new Date();
    var x = d2 - d1;
    console.log("forEach计算结果:" + sum + ",用时:" + x);
  }
</script>
</head>
<body>
请按F12查看控制器输出 <br />
<div id="div1" style="display:none;">
  <input type="button" value="使用for循环" onclick="test1();" /> <br />
  <input type="button" value="使用for..in循环" onclick="test2();" /> <br />
  <input type="button" value="使用forEach循环" onclick="test3();" /> <br />
</div>
<div id="div2">
  正在初始化...
</div>
</body>
</html>

效果图:

更多关于JavaScript相关内容感兴趣的读者可查看本站专题:《JavaScript遍历算法与技巧总结》、《JavaScript切换特效与技巧总结》、《JavaScript查找算法技巧总结》、《JavaScript动画特效与技巧汇总》、《JavaScript错误与调试技巧总结》、《JavaScript数据结构与算法技巧总结》及《JavaScript数学运算用法总结

希望本文所述对大家JavaScript程序设计有所帮助。

相关文章

  • 提高网站性能之 如何对待JavaScript

    提高网站性能之 如何对待JavaScript

    在一个页面中,每一个外部JavaScript 及CSS文件都会导致一个额外的HTTP请求。所以,如何合理的合并JavaScript 文件及CSS文件也是前端工程师应该考虑的。
    2009-10-10
  • JSON与XML的区别对比及案例应用

    JSON与XML的区别对比及案例应用

    这篇文章主要介绍了JSON与XML的区别对比及案例应用的讲解。本文涉及到XML和JSON优缺点讲解及对比,非常不错,具有一定的参考借鉴价值,感兴趣的朋友一起看看吧
    2016-11-11
  • JS实现多张图片预览同步上传功能

    JS实现多张图片预览同步上传功能

    这篇文章主要介绍了JS实现多张图片预览同步上传功能的相关资料,需要的朋友可以参考下
    2017-06-06
  • CutePsWheel javascript libary 控制输入文本框为可使用滚轮控制的js库

    CutePsWheel javascript libary 控制输入文本框为可使用滚轮控制的js库

    实现类似于Photoshop控制面板输入文本数字的效果,所以名称叫做PsWheel。用于控制输入数字类型文本框实现鼠标滚轮上下滑动改变值,支持正整数、小数类型输入文本。
    2010-02-02
  • Js的MessageBox效果代码

    Js的MessageBox效果代码

    看到论坛上有人模仿alert,自己也写了一个。 本来想模仿winapi里的MessageBox 但可惜js 不支持,阻塞模式。
    2008-05-05
  • js实现淘宝固定侧边栏

    js实现淘宝固定侧边栏

    这篇文章主要为大家详细介绍了js实现淘宝固定侧边栏,文中示例代码介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2022-07-07
  • JS对象数组中如何匹配某个属性值

    JS对象数组中如何匹配某个属性值

    这篇文章主要介绍了JS对象数组中如何匹配某个属性值,具有很好的参考价值,希望对大家有所帮助。如有错误或未考虑完全的地方,望不吝赐教
    2022-09-09
  • JavaScript常用本地对象小结

    JavaScript常用本地对象小结

    这篇文章主要介绍了JavaScript常用本地对象小结的相关资料,需要的朋友可以参考下
    2016-03-03
  • bootstrap table支持高度百分比的实例代码

    bootstrap table支持高度百分比的实例代码

    这篇文章给大家介绍了bootstrap table支持高度百分比的实例代码,通过更改BootstrapTable.prototype.resetView 方法,以支持高度百分比定义,适应不同高度屏幕,感兴趣的朋友跟随脚本之家小编一起学习吧
    2018-02-02
  • 深入理解javascript中concat方法

    深入理解javascript中concat方法

    本文主要介绍了javascript中concat方法,主要分为2小节内容:1.concat方法的基础介绍;2.从实例中感受concat方法。需要的朋友一起来看下吧
    2016-12-12

最新评论