js不要在循环中使用 console.log

普通情况

js 复制代码
console.time('test')
let count = 1_000_000
let a = 0

for (let i = 0; i < count; i++) {
    console.log(i);
    a++
}

// test: 25563.049072265625 ms
console.timeEnd('test')

上面情况比较耗时, 当循环次数越多, 则耗时越久

改为如下

js 复制代码
console.time('test')

let count = 1_000_000
for (let i = 0; i < count; i++) {
    if(i === count -1) {
       console.log(i);
    }
}
// 耗时 test: 1.897216796875 ms
console.timeEnd('test')
js 复制代码
let count = 1_000_000
let a = 0

for (let i = 0; i < count; i++) {
    a++
}

单纯的做js的业务逻辑操作, 这里100万次的执行,其实也还是很快的, 毫秒级完成

从耗时对比上看,console 日志输出确实会影响 js的执行性能, 其实还是 存在I/O 操作和处理, 导致执行效率下降, 频繁的调用 console.log 会占用 CPU 和内存资源

所以, 在比较复杂/执行次数多(达到1w+ 次) 要尽量避免 console.log 的使用

相关推荐
kyriewen6 小时前
我手写了一个 EventEmitter,面试官追问了 6 个问题——第 4 个我没答上来
前端·javascript·面试
IT_陈寒6 小时前
Java的Date类又坑了我一次,改用时间戳真香
前端·人工智能·后端
小林攻城狮7 小时前
使用 Transport 节流解决 Vercel AI SDK 流式渲染卡死问题
前端·react.js
前端缘梦7 小时前
告别 TS 运行时类型漏洞!Zod 完整入门实战教程(前端 / 全栈必备)
前端·react.js·全栈
the_answer7 小时前
Webpack vs Vite 深度对比分析
前端·webpack
转转技术团队7 小时前
验证码识别实战:前端不写页面,改训模型了?
前端
MomentYY7 小时前
Temperature:AI 的“脑洞旋钮”
前端·llm·ai编程
远航_8 小时前
OpenSpec 完整详细介绍
前端·后端
召钱熏8 小时前
状态枚举正确≠渲染正确:一个语音按钮的状态机边界修复实录
android·前端
SkyWalking中文站8 小时前
认识 Horizon UI · 1/17:SkyWalking 新一代可观测性控制台
运维·前端·监控