[JS] console.time() - 计时器构造函数及如何计时
概述
使用计时器可以对代码运行过程进行测速。你可以给每个计时器取一个名字,每个页面上最多可以运行一万个计时器。当你使用计时器名字调用 console.timeEnd() 函数时,浏览器会返回一个毫秒值,该值表示该计时器启动到你调用 console.timeEnd() 时的时间。
语法
console.time(timerName);
timerName
计时器名称,该名称用于标识一个计时器,当使用该名称调用 console.timeEnd() 时会停止相应的计时器,并在控制台输出计时时间。
如何捕获计时器返回值
很可惜,console.time() 和 console.timeEnd() 只能在控制台输出计时时间,但不能返回输出内容,也就不能赋给变量保存。
如果需要计时作为变量使用,可以使用 window.performance.now() 函数计时:
var start = window.performance.now();
var end = window.performance.now();
var duration = end - start;
window.performance.now() 返回一个浮点值表示当前距离页面被加载时的毫秒时间,如果想知道页面是何时被加载的,可以获取 window.performance.timing.navigationStart 值,该表示页面加载时的 Unix 时间戳。
你也可以使用 Date.now() 函数来计时,该函数返回一个整数毫秒值。
var start = Date.now();
var duration = Date.now() - start;
又或者 Date().getTime() 对象计时,该对象返回的是 Unix 时间戳:
var start = new Date().getTime();
var end = new Date().getTime();
var duration = end - start
PS:window.performance.now() 会比 Date.now() 慢很多。
[JS] console.time() - 计时器构造函数及如何计时的更多相关文章
- js中的计时器事件`setTimeout()` 和 `setInterval()`
js中的计时器事件 在js中,通常会有一些事件,我们需要让它 间隔一段时间之后再发生,或者 每隔一段时间 发生一次,那就需要用到我们js中的计时事件 计时事件主要有两种: setTimeout() - ...
- JS中的计时器事件
JS可以实现很多java代码不易完成的功能.这里学习一些js中的计时器事件. JavaScript 一个设定的时间间隔之后来执行代码,称之为计时事件. 主要通过两个方法来实现: 1.setInterv ...
- 一篇文章理解JS继承——原型链/构造函数/组合/原型式/寄生式/寄生组合/Class extends
说实在话,以前我只需要知道"寄生组合继承"是最好的,有个祖传代码模版用就行.最近因为一些事情,几个星期以来一直心心念念想整理出来.本文以<JavaScript高级程序设计&g ...
- js console 性能测试 & don't-use-array-foreach-use-for-instead
don't-use-array-foreach-use-for-instead slower https://coderwall.com/p/kvzbpa/don-t-use-array-foreac ...
- js精要之构造函数
// 枚举对象 var obj = {} obj.name = "bob"; obj.age = "; obj.sex = "boy"; consol ...
- js 原型链、构造函数、原型与实例之间的关系
面向对象编程都会涉及到继承这个概念,JS中实现继承的方式主要是通过原型链的方法. 一.构造函数.原型与实例之间的关系 每创建一个函数,该函数就会自动带有一个 prototype 属性.该属性是个指针, ...
- js面向对象程序设计之构造函数
再上一篇的开头说了创建对象的两种方式,一种是Object构造函数的方式,一种是对象字面量的方法.但这些方式创建多个对象的时候都会产生大量的重复代码.经过技术的进步也演化出来许多的创建对象的模式.本章会 ...
- js console API All In One
js console API All In One const log = console.log; for(const key in console) { log(`navigator.${key} ...
- js console.log all in one
js console.log all in one this & arguments "use strict"; /** * * @author xgqfrms * @li ...
随机推荐
- android 获取配置文件 相对路径
--src --com.example.Demo1 --IndexActivity.class --test.txt 在IndexActivity.class 获取test.txt中的文件 ...
- Lamp后端开发技能表v0.1(转)
专业技能 Linux 阿里云服务器免费购买 服务器环境搭建 常用命令:慕课网-Linux达人养成计划 编辑器vim:床用命令.模式等等 shell Apache/Nginx 环境配置 一些配置项的参数 ...
- JDBC简单示例代码
本文章教程中将演示如何创建一个简单的JDBC应用程序的示例. 这将显示如何打开数据库连接,执行SQL查询并显示结果. 这个示例代码中涉及所有步骤,一些步骤将在本教程的后续章节中进行说明. 创建JDBC ...
- Linux入门基础教程之Linux系统简介
Linux的历史: Multics项目开发不顺利,贝尔实验室退出该项目后,开发了Unix,商业化后价格昂贵.Dennis Ritchie和Ken Thompson开发了Unix内核以及C语言.Andr ...
- fopen flock fclose 文件用法
fopen函数是用来打开文件或者连接 若成功,则返回 true.若失败,则返回 false. fopen打开连接是不能直接输出的 使用: <?php $file = fopen("te ...
- npm安装包卡住不动的解决
最近诸事不顺,今天更新/安装nodejs各种包也全都卡在各个环节,用ie设了全局代理貌似也没什么改观,于是到网上找找有没有国内镜像站,倒是发现了cnpmjs.org这个网站被推荐比较多,看他们主页,他 ...
- JSON.stringify报cyclic object value错误
这是一个典型的循环引用的错误,一个对象里引用自己就会立刻得到这个错误: obj = { x:555, y: "hi" }; obj.myself = obj; try{ json ...
- storm学习之七-storm UI页面参数详解
http://lbxc.iteye.com/blog/1522318 --参考文章 http://blog.csdn.net/rong_89/article/details/39473917 --参考 ...
- JIRA 初体验
JIRA 使用神奇的JQL查询数据,很nice啊 ! 官网API: https://docs.atlassian.com/jira/REST/latest/#d2e2344 测试一下search: ...
- ambari hdp 集成 impala
1.下载ambari-impala-service VERSION=`hdp-select status hadoop-client | sed 's/hadoop-client - \([0-9]\ ...