这小节的for循环可以解释一下为什么第一个可以重新循环获取长度,而第二个for循环只能获取一次长度吗

这小节的for循环可以解释一下为什么第一个可以重新循环获取长度,而第二个for循环只能获取一次长度吗

​这小节的for循环可以解释一下为什么第一个可以重新循环获取长度,而第二个for循环只能获取一次长度吗,我有点想不明白

正在回答 回答被采纳积分+1

登陆购买课程后可参与讨论,去登陆

1回答
好帮手慕久久 2021-08-28 14:01:49

同学你好,解答如下:

先看下for循环的执行机理:

http://img1.sycdn.imooc.com//climg/6129d0b409b5530b14180725.jpg

视频地址:https://class.imooc.com/lesson/2120#mid=50321(8分钟左右)。

从执行机理可以看出,语句1只会执行一次,而语句2、3、4会执行多次。

第一个for循环,arr.length位于语句2的位置:

http://img1.sycdn.imooc.com//climg/6129cf8e09256fd806110124.jpg

因此每循环一次,就会执行一次arr.length,即循环一次就会重新获取一遍数组的长度。

第二个for循环,arr2.length位于语句1中:

http://img1.sycdn.imooc.com//climg/6129cff90992338508110112.jpg

即arr2.length只会执行一次。

​祝学习愉快!

  • 提问者 陆小小 #1

    那老师我可以理解为在第二个for循环中,问题一:len=arr.length 这一步为多此一举的是吗,问题二:而且第一和第二的for循环都是具有一样的效果的是吗?,问题三:那如果写成第二种for循环的语句会有什么实际作用的影响吗?

    2021-08-28 14:15:37
  • 好帮手慕久久 回复 提问者 陆小小 #2

    同学你好,解答如下:

    1、len=arr.length不是多次一举,是正常操作。语句1中可以声明一个变量i,那也可以声明多个变量,是正确的。

    2、两个for循环实现的效果是一样的。

    3、代码的实现方式很灵活,往往不同的写法能实现相同的效果。二种写法相对来讲,方法2的写法,代码性能更好。因为循环同样的次数,方式2的计算次数比1少:

    http://img1.sycdn.imooc.com//climg/6129de5c0978a79d07430324.jpg

    这就好比,两个人解同一道题,A用了100步,B只用了50步,那B的效率就高。

    祝学习愉快!

    2021-08-28 14:59:31
问题已解决,确定采纳
还有疑问,暂不采纳

恭喜解决一个难题,获得1积分~

来为老师/同学的回答评分吧

0 星
请稍等 ...
意见反馈 帮助中心 APP下载
官方微信

在线咨询

领取优惠

免费试听

领取大纲

扫描二维码,添加
你的专属老师