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中的一些定位属性[图解]
Jul 14 Javascript
Javascript学习笔记之函数篇(四):arguments 对象
Nov 23 Javascript
原生JS实现平滑回到顶部组件
Mar 16 Javascript
window.open打开窗口被拦截的快速解决方法
Aug 04 Javascript
深入浅析JavaScript中的3DES
Aug 24 Javascript
jQuery层次选择器用法示例
Sep 09 Javascript
详解数组Array.sort()排序的方法
May 09 Javascript
前端构建工具之gulp的语法教程
Jun 12 Javascript
bootstrap table实现x-editable的行单元格编辑及解决数据Empty和支持多样式问题
Aug 10 Javascript
vue弹窗消息组件的使用方法
Sep 24 Javascript
小程序实现选择题选择效果
Nov 04 Javascript
JavaScript静态作用域和动态作用域实例详解
Jun 17 Javascript
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
推荐文章系统(一)
2006/10/09 PHP
php5 non-thread-safe和thread-safe这两个版本的区别分析
2010/03/13 PHP
基于xcache的配置与使用详解
2013/06/18 PHP
php MessagePack介绍
2013/10/06 PHP
php利用单例模式实现日志处理类库
2014/02/10 PHP
让angularjs支持浏览器自动填表
2014/11/10 Javascript
浅谈Sizzle的“编译原理”
2015/04/14 Javascript
javascript数组克隆简单实现方法
2015/12/16 Javascript
浅谈JavaScript中变量和函数声明的提升
2016/08/09 Javascript
js利用clipboardData实现截屏粘贴功能
2016/10/12 Javascript
基于HTML5+JS实现本地图片裁剪并上传功能
2017/03/24 Javascript
vue.js todolist实现代码
2017/10/29 Javascript
vue实现自定义多选与单选的答题功能
2018/07/05 Javascript
微信小程序中为什么使用var that=this
2019/08/27 Javascript
js实现弹窗效果
2020/08/09 Javascript
JavaScript实现消消乐的源代码
2021/01/12 Javascript
[43:36]Liquid vs Mineski 2018国际邀请赛小组赛BO2 第一场 8.18
2018/08/19 DOTA
Python的多态性实例分析
2015/07/07 Python
简单谈谈Python中的json与pickle
2017/07/19 Python
python用BeautifulSoup库简单爬虫实例分析
2018/07/30 Python
Python基于百度云文字识别API
2018/12/13 Python
python操作excel让工作自动化
2019/08/09 Python
详解Python修复遥感影像条带的两种方式
2020/02/23 Python
Python 字符串池化的前提
2020/07/03 Python
Python-openCV开运算实例
2020/07/05 Python
Python 如何反方向迭代一个序列
2020/07/28 Python
Python requests接口测试实现代码
2020/09/08 Python
怎么解决pycharm license Acti的方法
2020/10/28 Python
西安当代医院管理研究院笔试题
2015/12/11 面试题
机电一体化大学生求职信
2013/11/08 职场文书
人力资源管理专业自荐书范文
2014/02/10 职场文书
工作态度检讨书
2014/02/11 职场文书
校车司机安全责任书
2015/05/11 职场文书
导游词之青岛太清宫
2019/12/13 职场文书
mysql 直接拷贝data 目录下文件还原数据的实现
2021/07/25 MySQL
MySql数据库 查询时间序列间隔
2022/05/11 MySQL