javaScript 学习笔记:while循环中的array.length会实时计算

文章讨论了JavaScript中while循环中,数组长度`a.length`是否在每次迭代时都会重新计算。答案是会,这可能导致性能开销。建议在循环前获取常量长度以提高效率。
摘要由CSDN通过智能技术生成

假设有如下代码:

const a=[1,2,3]

let n=0

while(n<a.length){
    console.log(a[n])
    n++
}

如上代码中,循环条件中的a.length是只计算一次,还是会在每次循环时重复计算呢?

答案是会在每次循环时重复计算,下面是chatGpt对这个问题的回答(我自己实际操作也验证了这一点)。

明白了这一点,那么以后在写类似循环时就要注意,数组在循环中发生长度变动的问题 。

如果已知数组在循环中不会发生长度变动,或者对长度变动不关心,可以在循环前先获取常量length,然后以常量length进行循环判断,是更加高效的写法。如下:

const a=[1,2,3]

const length=a.length

let n=0

while(n<length){
    console.log(a[n])
    n++
}

总结:javaScript 的while循环中,循环条件如果中的array.length会持续计算,而不是只计算一次。

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值