do{}while(false)
程序员文章站
2022-03-16 10:34:56
...
do while 语法:
众所周知,do while 循环是执行一遍do{} 里面的代码然后,再去while()判断条件是否为真,为真继续执行do{}里面的代码,否则就跳出循环。当然我们也可以采用 break 跳出循环,也可以采用 continue 结束本次循环开始下一次循环。
do {
//执行的任务
} while (); //判断条件是否为真
do{}while(false):
在工作中我们能经常发现有人写 do{}while(false) 这样的代码,初看时让人迷惑不解,按照上面的语法 do{}while(false) 这样 do{} 里面的代码只会执行一次的啊,那么问题来了,为什么要这样写?
试想,我们在工作中是不是经常会遇到一种情况:第二个判断需要依赖第一个判断的结果,甚至第三个判断需要依赖第二个判断的结果。如下样式的代码:
if (one == true) {
if (two == true) {
if (three == true) {
//第三个依赖第二个判断结果,第二个依赖第一个判断结果。
//...
}
}
}
那这样的代码是不是看起来好恶心,各种判断嵌套在一起,很是不容易理清代码逻辑,而且很容易出错。那有没有一种清爽的代码风格来解决这个问题呢?答案肯定是有的,就是我们上面提到 do{}while(false) 。
那要如何用代码实现呢,请看下面的代码示例:
do {
if (one == false) {
break;
}
if (two == false) {
break;
}
if (three == false) {
break;
}
} while (false);
既然后面的判断依赖前面的判断结果,那么所有的条件都去判断是否等于false,等于false的直接break跳出do while 循环。这样的代码风格是不是比刚才那种写法清爽多了。
结论:
do{}while(false) 最大意义是:简化 if else 的嵌套结构判断逻辑。
上一篇: Image Lazy Load:那些延时加载图片的开源插件(jQuery)
下一篇: while循环