在 JavaScript 中,console.time() 和 console.timeEnd() 是一对用于测量代码执行时间的方法,属于 console 对象的功能。以下是详细说明和使用示例:
基本用法
- 启动计时器:
console.time(label)
启动一个计时器,label 是计时器的唯一标识(可选,默认为 “default”)。 - 结束计时器:
console.timeEnd(label)
停止指定 label 的计时器,并在控制台输出执行时间。
示例代码
// 启动名为 "myTimer" 的计时器
console.time("myTimer");
// 模拟耗时操作(例如循环、网络请求等)
for (let i = 0; i < 1000000; i++) {
Math.sqrt(i);
}
// 结束计时并输出结果
console.timeEnd("myTimer"); // 控制台输出: myTimer: 15.625ms
关键细节
- 标签必须匹配:
time() 和 timeEnd() 的 label 需一致,否则计时无效。
console.time("A");
console.timeEnd("B"); // ❌ 错误!标签不匹配
- 默认标签:
省略 label 时,自动使用 “default”:
console.time(); // 启动 default 计时器
console.timeEnd(); // 停止 default 计时器
- 嵌套计时:
支持多个独立计时器同时运行:
console.time("outer");
console.time("inner");
// ...某些操作
console.timeEnd("inner"); // 输出 inner 的时间
console.timeEnd("outer"); // 输出 outer 的时间
- 精度:
时间单位为毫秒(ms),精度通常到小数点后 3 位(如 0.123ms)。
应用场景
- 测试循环、函数执行的性能
- 比较不同算法的效率
- 调试异步操作耗时(需结合 Promise/async-await)
- 开发过程中快速定位性能瓶颈
注意事项
- 仅用于开发环境:生产环境中应移除或使用专业性能分析工具(如 Chrome DevTools Performance)。
- 浏览器/Node.js 支持:所有现代浏览器和 Node.js 均支持此方法。
- 多次调用 timeEnd() 会输出累计时间,但通常建议每个计时器只结束一次。
1038

被折叠的 条评论
为什么被折叠?



