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在for循环中绑定事件解决事件参数不同的情况
Jan 20 Javascript
JavaScript新窗口与子窗口传值详解
Feb 11 Javascript
Ajax请求在数据量大的时候出现超时的解决方法
Feb 27 Javascript
四种参数传递的形式——URL,超链接,js,form表单
Jul 24 Javascript
基于jquery实现可定制的web在线富文本编辑器附源码下载
Nov 17 Javascript
JQuery.Ajax()的data参数类型实例详解
Nov 20 Javascript
使用jQuery监听DOM元素大小变化
Feb 24 Javascript
ionic js 复选框 与普通的 HTML 复选框到底有没区别
Jun 06 Javascript
浅谈angularJS中的事件
Jul 12 Javascript
AngularJS基础 ng-mouseover 指令简单示例
Aug 02 Javascript
简单模拟node.js中require的加载机制
Oct 27 Javascript
bootstrapValidator表单校验、更改状态、新增、移除校验字段的实例代码
May 19 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
php判断字符以及字符串的包含方法属性
2008/08/30 PHP
PHP 文件上传源码分析(RFC1867)
2009/10/30 PHP
php中3种方法删除字符串中间的空格
2014/03/10 PHP
PHP实现添加购物车功能
2017/03/06 PHP
php命令行模式代码实例详解
2021/02/26 PHP
一些有关检查数据的JS代码
2006/09/07 Javascript
Javascript 判断客户端浏览器类型代码
2010/03/01 Javascript
jQuery实战之仿淘宝商城左侧导航效果
2011/04/12 Javascript
javascript学习笔记(六) Date 日期类型
2012/06/19 Javascript
在jQuery中 关于json空对象筛选替换
2013/04/15 Javascript
js处理自己不能定义二维数组的方法详解
2014/03/03 Javascript
js的延迟执行问题分析
2014/06/23 Javascript
javascript实现的简单计时器
2015/07/19 Javascript
详解JavaScript ES6中的模板字符串
2015/07/28 Javascript
浅谈jQuery中ajaxPrefilter的应用
2016/08/01 Javascript
浅谈JS中的!=、== 、!==、===的用法和区别
2016/09/24 Javascript
js利用clipboardData实现截屏粘贴功能
2016/10/12 Javascript
浅谈React的最大亮点之虚拟DOM
2018/05/29 Javascript
Vue实现6位数密码效果
2018/08/18 Javascript
解决vue中el-tab-pane切换的问题
2020/07/19 Javascript
Python中处理unchecked未捕获异常实例
2015/01/17 Python
Python计算字符宽度的方法
2016/06/14 Python
对numpy Array [: ,] 的取值方法详解
2018/07/02 Python
使用Python向DataFrame中指定位置添加一列或多列的方法
2019/01/29 Python
react+django清除浏览器缓存的几种方法小结
2019/07/17 Python
pycharm显示远程图片的实现
2019/11/04 Python
python代码xml转txt实例
2020/03/10 Python
购买一个高级域名:BuyDomains
2018/03/11 全球购物
什么是方法的重载
2013/06/24 面试题
综治工作心得体会
2014/09/11 职场文书
迁户口计划生育证明
2014/10/19 职场文书
2014年党的群众路线学习心得体会
2014/11/05 职场文书
2015新学期开学寄语
2015/02/26 职场文书
《彼得与狼》教学反思
2016/02/20 职场文书
如何把新闻人物写得立体、鲜活?
2019/08/14 职场文书
Python打包exe时各种异常处理方案总结
2021/05/18 Python