19Js面试题-for循环的循环条件

236 阅读2分钟

Offer 驾到,掘友接招!我正在参与2022春招系列活动-刷题打卡任务,点击查看活动详情

  • for循环中的两个分号,将代码分成了三条语句,第一条语句用来声明变量,第二条语句用来判断是否为循环结束条件,第三语句用来修改变量
  • 执行第一个循环时,首先会执行第一条语句,然后执行第二条语句,再行for循环大括号内的代码,最后执行第三条语句。之后都不会再执行第一条语句了,而是会先执行第二条语句,如果满足第二条语句的条件,就会执行for循环大括号内的代码,然后执行第三条语句,再重复之前的步骤:执行第二条语句,满足条件就执行括号内的代码,再执行第三条语句...直到执行到第二条语句不满足条件时for循环执行完毕
  • for循环中的第二条语句是循环结束的条件,只能由一个,当第二条语句中有多个条件时,多个条件都会执行,但是会返回最右边的条件作为循环结束的条件
  • 因此在下面的代码中,j<6是循环结束的条件,当执行到i=5,j=5时,先判断是否满足第二条语句的条件(j<6),发现满足,就执行大括号内的代码,k=i+j=5+5=10,然后执行第三条语句,i=6,j=6,然后执行第二条语句,发现不满足条件(j<6),所以for循环结束,执行console,log(k);,打印出10

image.png

  • 将上面for循环中的两个条件置换位置得到下面的代码,此时循环结束的条件为j<10,循环结束时j=10,i=10,k=9+9=18,所以代码最后打印18

image.png