Js利用console计算代码运行时间的方法示例


Posted in Javascript onSeptember 24, 2017

前言

本文主要给大家介绍了关于Js用console计算代码运行时间的相关内容,分享出来供大家参考学习,下面话不多说了,来一起看看详细的介绍吧。

需求

如果学习前端一定时间以后,就会考虑性能方面的问题。那么问题来了,我们怎么计算出一段代码的运行时间呢?

使用console.log配合Date对象计算

比如,我们计算sort方法排序十万个随机数组成的数组需要用多长时间的话,可以这么写:

var arr = [];
    for(var i=0; i<100000; i++){
      arr.push(Math.random());
    }
    var beginTime = +new Date();
    arr.sort();
    var endTime = +new Date();
    console.log("排序用时共计"+(endTime-beginTime)+"ms");

最后在控制台会显示:

排序用时共计552ms

下面,再介绍一种更灵活更准确的方法。

使用console.time进行时间计算

这种方法比上一种更准确,而且专门为性能产生的方法:
测试案例:

var arr = [];
    for(var i=0; i<100000; i++){
      arr.push(Math.random());
    }
    console.time("sort");
    arr.sort();
    console.timeEnd("sort");

控制台会打印出:

sort: 542.668701171875ms

这种方法在需要测试的开始位置写上console.time,并且括号内传一个字符串。在结束的位置使用console.timeEnd方法,并再次把字符串传入。

个人推荐第二种方式。

总结

以上就是这篇文章的全部内容了,希望本文的内容对大家的学习或者工作能带来一定的帮助,如果有疑问大家可以留言交流,谢谢大家对三水点靠木的支持。

Javascript 相关文章推荐
基于jquery的textarea发布框限制文字字数输入(添加中文识别)
Feb 16 Javascript
js replace替换所有匹配的字符串
Feb 13 Javascript
jQuery中size()方法用法实例
Dec 27 Javascript
ECMAScript6中Map/WeakMap详解
Jun 12 Javascript
jquery实现图片放大镜功能
Nov 23 Javascript
JavaScript跨域调用基于JSON的RESTful API
Jul 09 Javascript
使用contextMenu插件实现Bootstrap table弹出右键菜单
Feb 20 Javascript
vue项目中axios使用详解
Feb 07 Javascript
详解关于element el-button使用$attrs的一个注意要点
Nov 09 Javascript
Vue 利用指令实现禁止反复发送请求的两种方法
Sep 15 Javascript
在Vue mounted方法中使用data变量详解
Nov 05 Javascript
Vue项目打包压缩的实现(让页面更快响应)
Mar 10 Javascript
详解Web使用webpack构建前端项目
Sep 23 #Javascript
vue webuploader 文件上传组件开发
Sep 23 #Javascript
jQuery使用zTree插件实现可拖拽的树示例
Sep 23 #jQuery
一个有意思的鼠标点击文字特效jquery代码
Sep 23 #jQuery
JQuery用$.ajax或$.getJSON跨域获取JSON数据的实现代码
Sep 23 #jQuery
VsCode新建VueJs项目的详细步骤
Sep 23 #Javascript
详解webpack + vue + node 打造单页面(入门篇)
Sep 23 #Javascript
You might like
如何用PHP做到页面注册审核
2017/03/02 PHP
PHP Class SoapClient not found解决方法
2018/01/20 PHP
php取出数组单个值的方法
2018/03/12 PHP
ThinkPHP中获取指定日期后工作日的具体日期方法
2018/10/14 PHP
tp5.1 框架数据库高级查询技巧实例总结
2020/05/25 PHP
Jsonp 跨域的原理以及Jquery的解决方案
2011/06/27 Javascript
THREE.JS入门教程(4)创建粒子系统
2013/01/24 Javascript
浅谈javascript函数式编程
2015/09/06 Javascript
jQuery组件easyui基本布局实现代码
2016/08/25 Javascript
利用Angularjs实现幻灯片效果
2016/09/07 Javascript
js中的eval()函数把含有转义字符的字符串转换成Object对象的方法
2016/12/02 Javascript
微信小程序使用Socket的实例
2017/09/19 Javascript
React-Router如何进行页面权限管理的方法
2017/12/06 Javascript
js实现json数组分组合并操作示例
2019/02/12 Javascript
JavaScript判断对象和数组的两种方法
2019/05/31 Javascript
Vue 3.0中jsx语法的使用
2020/11/13 Javascript
[02:36]DOTA2亚洲邀请赛小组赛精彩集锦:奇迹哥卡尔秀翻全场
2017/03/28 DOTA
python学习笔记:字典的使用示例详解
2014/06/13 Python
用Python的线程来解决生产者消费问题的示例
2015/04/02 Python
CentOS 7下安装Python 3.5并与Python2.7兼容并存详解
2017/07/07 Python
python批量替换页眉页脚实例代码
2018/01/22 Python
使用python和pygame绘制繁花曲线的方法
2018/02/24 Python
TensorFLow用Saver保存和恢复变量
2018/03/10 Python
简单了解python中的与或非运算
2019/09/18 Python
Python的对象传递与Copy函数使用详解
2019/12/26 Python
解决IDEA 的 plugins 搜不到任何的插件问题
2020/05/04 Python
5款实用的python 工具推荐
2020/10/13 Python
JD Sports澳洲官网:英国领先的运动鞋和运动时尚零售商
2020/02/15 全球购物
《灯光》教学反思
2014/02/08 职场文书
户籍证明格式
2014/09/15 职场文书
市委常委会班子党的群众路线教育实践活动整改方案
2014/10/25 职场文书
2014年路政工作总结
2014/12/10 职场文书
工程技术负责人岗位职责
2015/04/13 职场文书
学校党支部承诺书
2015/04/30 职场文书
婚宴父母致辞
2015/07/27 职场文书
七年级思品教学反思
2016/02/20 职场文书