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 相关文章推荐
PPK 谈 JavaScript 的 this 关键字 [翻译]
Sep 29 Javascript
两个Javascript小tip资料
Nov 23 Javascript
JS保存和删除cookie操作 判断cookie是否存在
Nov 13 Javascript
Javascript之BOM(window对象)详解
May 25 Javascript
浅谈JS中逗号运算符的用法
Jun 12 Javascript
Bootstrap页面布局基础知识全面解析
Jun 13 Javascript
window.open不被拦截的简单实现代码(推荐)
Aug 04 Javascript
Vue.js每天必学之方法与事件处理器
Sep 06 Javascript
vue 巧用过渡效果(小结)
Sep 22 Javascript
从0到1学习JavaScript编写贪吃蛇游戏
Jul 28 Javascript
详解React路由传参方法汇总记录
Nov 29 Javascript
了不起的11个JavaScript代码重构最佳实践小结
Jan 11 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中获取远程客户端的真实ip地址的方法
2011/08/03 PHP
php文件上传类的分享
2017/07/06 PHP
基于JQuery实现的类似购物商城的购物车
2011/12/06 Javascript
jquery win 7透明弹出层效果的简单代码
2013/08/06 Javascript
js根据日期判断星座的示例代码
2014/01/23 Javascript
js实现的GridView即表头固定表体有滚动条且可滚动
2014/02/19 Javascript
BAT及各大互联网公司2014前端笔试面试题--JavaScript篇
2014/10/29 Javascript
JS实现控制表格单元格垂直对齐的方法
2015/03/30 Javascript
jQuery on()绑定动态元素出现的问题小结
2016/02/19 Javascript
jQuery设置单选按钮radio选中/不可用的实例代码
2016/06/24 Javascript
js模式化窗口问题![window.dialogArguments]
2016/10/30 Javascript
AngularJS基于ui-route实现深层路由的方法【路由嵌套】
2016/12/14 Javascript
移动端效果之Swiper详解
2017/10/09 Javascript
微信小程序外卖选购页实现切换分类与数量加减功能案例
2019/01/15 Javascript
vue+element+Java实现批量删除功能
2019/04/08 Javascript
一个小时快速搭建微信小程序的方法步骤
2019/04/15 Javascript
jQuery zTree插件使用简单教程
2019/08/16 jQuery
vue 自动化路由实现代码
2019/09/03 Javascript
小程序实现长按保存图片的方法
2019/12/31 Javascript
vue elementui tree 任意级别拖拽功能代码
2020/08/31 Javascript
Python中.py文件打包成exe可执行文件详解
2017/03/22 Python
利用Django内置的认证视图实现用户密码重置功能详解
2017/11/24 Python
下载python中Crypto库报错:ModuleNotFoundError: No module named ‘Crypto’的解决
2018/04/23 Python
Python使用pyshp库读取shapefile信息的方法
2018/12/29 Python
详解pytorch tensor和ndarray转换相关总结
2020/09/03 Python
localStorage、sessionStorage使用总结
2017/11/17 HTML / CSS
Amara美国站:英国高端家居礼品网站,世界各地的奢侈家具品牌
2017/07/26 全球购物
The Body Shop美体小铺西班牙官网:天然化妆品
2019/06/21 全球购物
酒店保安员岗位职责
2014/01/31 职场文书
《两个铁球同时着地》教学反思
2014/02/13 职场文书
保险专业自荐信范文
2014/02/20 职场文书
社团个人总结范文
2015/03/05 职场文书
会计岗位工作总结
2015/08/12 职场文书
​(迎国庆)作文之我爱我的祖国
2019/09/19 职场文书
redis 存储对象的方法对比分析
2021/08/02 Redis
Android开发实现极为简单的QQ登录页面
2022/04/24 Java/Android