浅谈 JavaScript 中 (for循环) 的几种写法及其性能问题

直接代码说明

<!DOCTYPE html>
<html lang="en">
<head>
  <meta charset="UTF-8">
  <meta name="viewport" content="width=device-width, initial-scale=1.0">
  <meta http-equiv="X-UA-Compatible" content="ie=edge">
  <title>Document</title>
</head>
<body>
  <script>
  // 此处添加测试数组 textArr
var textArr = [], i = 0; while (i<40000000) { textArr.push(i) i++ } const forTest = (textArr) => { console.time('time forTest') var newArr = []
    // 第一种写法 不带声明变量的写法 (运行效率最好,性能最佳)
for (var i = 0; i < textArr.length; i++) { newArr.push(i) } console.timeEnd('time forTest') } const forTest1 = (textArr) => {
    console.time('time forTest1')
    var newArr = []
    // 第二种带声明变量的写法 (相比之下要差一些)
for (var i = 0,len = textArr.length; i < len; i++) {
        newArr.push(i)
      }
      console.timeEnd('time forTest1')
    } 
    const forTest2 = (textArr) => {
      console.time('time forTest2')
      var newArr = []
    // 第三种 forEach的写法 (效率最差,运行最慢) textArr.forEach(item
=> { newArr.push(item) }) console.timeEnd('time forTest2') } const forTest3 = (textArr) => { console.time('time forTest3') var newArr = []
    // 第四种是 for循环的简便写法, (运行效率与不带声明变量的写法相差无几,相比之下,可以使用这种写法,最优),仅仅是本人的观点
for (var i = 1,cur; cur = textArr[i++];) { newArr.push(i) } console.timeEnd('time forTest3') } forTest(textArr) forTest1(textArr) forTest2(textArr) forTest3(textArr) </script> </body> </html>

直接复制粘贴,在控制台即可看到这四种写法的效率比对,欢迎吐槽

转载于:https://www.cnblogs.com/0915ty/p/9771413.html

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值