十八.break和continue以及label语句

177 阅读3分钟

break语句

break语句:直接跳出循环

image.png

image.png

当i等于3时for循环中的if的条件为true,执行break语句会直接跳出for循环,则for循环中else中console.log(i)不会打印3,但是此时i等于3,直接跳出for循环,for循环不会再执行i++,在for循环外打印i的值就会打印3。

image.png

image.png

当注释掉break语句时,当i等于3,if的条件成立,会执行一次空语句,不会打印3,再执行for循环。当i等于5时,i<5为false,结束for循环,此时i的值是5。在for循环内部i的值是取不到5,但是在for循环外部取i的值是5。

continue语句

continue语句:用于跳过本次循环中的后面代码,继续执行下一次循环。

image.png

image.png

当i等于3时,if的条件成立,执行continue语句,则continue语句后面的console.log(i)不会再执行就不会打印3,然后继续执行下一次for循环会打印4,直到for循环不满足循环条件结束循环。

label语句

标签语句,在语句之前加上冒号:可标记 JavaScript 语句,给代码块取名字。

可配合break和continue语句使用:

image.png

image.png

第一次执行外部的for循环时i为0,0<5为true,开始执行代码块,即开始执行内部的for循环,当j等于5时,j<5为false,结束内部for循环,则j在内部for中打印会打印0-4。当内部for循环结束时,外部for循环的一次for循环才结束,i从0变为1,依次类推。

image.png

image.png

break语句只能跳出内部的for循环则j只会打印0-2,而外部的for循环不会,外部的for循环会执行5次,i会打印0-4。

image.png

image.png

使用标签语句,让break跳出end对应的这个代码块,即可以跳出外部的for循环,此时外部循环只会循环1次,i打印0,内部的for循环j会打印0-2。

image.png

image.png

第一次执行外部的一次for循环时i为0,内部的for循环中当j等于3时,if的条件成立,执行continue语句,则continue语句对应的end代码块后面的不会再执行,即内部的for循环后面的循环不再循环,j只会打印0-2,然后又开始执行外部的for循环,i从0变为1,i会打印0-4。

image.png

image.png

第一次执行外部的一次for循环时i为0,内部的for循环中当j等于3时,if的条件成立,执行continue语句,则continue语句对应的end1这个代码块后面的console.log(i)不会再执行,j不会打印3,然后再执行内部的for循环,j会打印4,当j等于5时,j<5为false,内部的for循环结束。然后又执行外部的for循环,i从0变为1,i会打印0-4。