第一模块(课程信息):
课程名称:2周刷完100道前端优质面试真题
课程章节:第五章第十二节 遍历一个数组for和forEach哪个更快?
主讲老师:双越
第二模块(课程内容):
课程内容概述
代码演示对比哪个更快?
const arr = [];
for(let i=0;i<10*10000;i++){
arr.push(i);
}
const length = arr.length;
console.time('for');
let n1 = 0;
for(let i=0;i<length;i++){
n1++;
}
console.timeEnd('for');//3.7ms
console.time('forEach');
let n2 = 0;
arr.forEach(()=>n2++)
console.timeEnd('forEach');//15.1ms
结论:
- for更快;
- forEach每次都创建一个函数来调用,for不会创建函数;
- 函数需要独立的作用域,会有额外的开销;
日常重点:
- 越“低级”的代码,性能往往越好;
- 日常开发别只考虑性能,forEach代码可读性更好;
第三模块(学习心得):
通过这节课的学习,更加从底层原理明白for和forEach的哪个性能更好一些,通过离子更加清晰地展现,在数据量不大的情况下,可以使用forEach。