有趣的for和break
提起for循环
和break
想必大家都不陌生了,但你可能并不知道for循环还能命名,break还能终止指定名字的for循环。
1 | outLoop: for (let i = 0; i < 3; i++) { |
从运行结果来看,这和我们平常写的for循环没什么两样,只不过在for前面加了个自定义的名字
。
当满足某个条件时,我们想要终止内层循环
时,可以这样写
1 | outLoop: for (let i = 0; i < 3; i++) { |
如果要终止外层循环
呢?这时候我们自定义的名字就起作用了
1 | outLoop: for (let i = 0; i < 3; i++) { |
当然我们也可以用boolean
和break
的组合来代替命名
1 | let flag = false; |
总结:当只写一个break时,默认是终止最靠近的for循环;当在break后追加一个名字时,就会终止指定名字的for循环。其实为for循环命名也叫添加标号label(标签),其他语言里面也有类似的设计,比如C可以用goto,Java的break(虽然Java保留了goto关键字,但不允许使用)