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


Posted in Javascript onSeptember 04, 2016

本文实例讲述了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>

效果图:

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

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

Javascript 相关文章推荐
javascript 动态table添加colspan\rowspan 参数的方法
Jul 25 Javascript
为JavaScript添加重载函数的辅助方法
Jul 04 Javascript
js的touch事件的实际引用
Oct 13 Javascript
js 通过cookie实现刷新不变化树形菜单
Oct 30 Javascript
jQuery实现菜单感应鼠标滑动动画效果的方法
Feb 28 Javascript
javascript中传统事件与现代事件
Jun 23 Javascript
jquery+正则实现统一的表单验证
Sep 20 Javascript
JS实现不使用图片仿Windows右键菜单效果代码
Oct 22 Javascript
手机浏览器 后退按钮强制刷新页面方法总结
Oct 09 Javascript
javascript 判断一个对象为数组的方法
May 03 Javascript
详解Node.js项目APM监控之New Relic
May 12 Javascript
解读Vue组件注册方式
May 15 Vue.js
jQuery使用$获取对象后检查该对象是否存在的实现方法
Sep 04 #Javascript
利用原生js和jQuery实现单选框的勾选和取消操作的方法
Sep 04 #Javascript
关于两个jQuery(js)特效冲突的bug的解决办法
Sep 04 #Javascript
DOM操作原生js 的bug,使用jQuery 可以消除的解决方法
Sep 04 #Javascript
每个程序员都需要学习 JavaScript 的7个理由小结
Sep 03 #Javascript
JavaScript 冒泡排序和选择排序的实现代码
Sep 03 #Javascript
浅析$(function) ready和onload 的区别
Sep 03 #Javascript
You might like
星际中一些鲜为人知的详细资料
2020/03/04 星际争霸
php 特殊字符处理函数
2008/09/05 PHP
删除无限分类并同时删除它下面的所有子分类的方法
2010/08/08 PHP
介绍一些PHP判断变量的函数
2012/04/24 PHP
php实现比较全的数据库操作类
2015/06/18 PHP
PHP实现根据时间戳获取周几的方法
2016/02/26 PHP
PHPExcel中文帮助手册|PHPExcel使用方法(分享)
2017/06/09 PHP
php使用array_chunk函数将一个数组分割成多个数组
2018/12/05 PHP
JavaScript入门教程(6) Window窗口对象
2009/01/31 Javascript
JavaScript 异步调用框架 (Part 5 - 链式实现)
2009/08/04 Javascript
javascript代码加载优化方法
2011/01/30 Javascript
JQuery获取当前屏幕的高度宽度的实现代码
2011/07/12 Javascript
Flexigrid在IE下不显示数据的处理的解决方法
2013/10/24 Javascript
Javascript常用字符串判断函数代码分享
2014/12/08 Javascript
对Web开发中前端框架与前端类库的一些思考
2015/03/27 Javascript
浅谈Node.js:fs文件系统模块
2016/12/08 Javascript
基于JS实现限时抢购倒计时间表代码
2017/05/09 Javascript
gulp解决跨域的配置文件问题
2017/06/08 Javascript
解决webpack打包速度慢的解决办法汇总
2017/07/06 Javascript
JavaScript笛卡尔积超简单实现算法示例
2018/07/30 Javascript
Vue组件化开发之通用型弹出框的实现
2020/02/28 Javascript
python中迭代器(iterator)用法实例分析
2015/04/29 Python
Python使用PyCrypto实现AES加密功能示例
2017/05/22 Python
pandas DataFrame索引行列的实现
2019/06/04 Python
python aiohttp的使用详解
2019/06/20 Python
Python中如何添加自定义模块
2020/06/09 Python
python新手学习可变和不可变对象
2020/06/11 Python
html5唤起app的方法
2017/11/30 HTML / CSS
大学三年的自我评价
2013/12/25 职场文书
喝酒检查书范文
2014/02/23 职场文书
股权转让协议书
2014/04/12 职场文书
平安工地建设方案
2014/05/06 职场文书
融资合作协议书范本
2014/10/17 职场文书
音乐课外活动总结
2015/05/09 职场文书
2019最新劳动仲裁申请书!
2019/07/08 职场文书
python脚本框架webpy的url映射详解
2021/11/20 Python