Bjarne Stroustrup(C++创建者)曾说过他避免使用"do/while"循环,而更喜欢用"while"循环编写代码.[见下面的引文.]
听到这个,我发现这是真的.你的想法是什么?是否有一个例子,"do/while"比使用"while"更清晰,更容易理解?
回答一些答案:是的,我理解"do/while"和"while"之间的技术差异.这是一个关于可读性和构造涉及循环的代码的更深层次的问题.
让我问另一种方式:假设你被禁止使用"do/while" - 是否有一个现实的例子,这会让你别无选择,只能使用"while"编写不干净的代码?
从"The C++ Programming Language",6.3.3:
根据我的经验,do-statement是错误和混乱的根源.原因是它的主体总是在评估条件之前执行一次.然而,为了使身体正常工作,非常像条件的东西必须在第一次通过时才能保持.比我想象的更频繁,我发现在程序第一次编写和测试时,或者在修改之前的代码之后,条件不能按预期保持. 我也更喜欢条件"我可以看到它的前方".因此,我倾向于避免做声明.-Bjarne
我永远不明白为什么使用do while循环是必要的.我理解他们做了什么,这是执行while循环包含的代码而不检查条件是否为真.
但不是以下代码:
do{
document.write("ok");
}
while(x == "10");
Run Code Online (Sandbox Code Playgroud)
完全相同:
document.write("ok");
while(x == "10"){
document.write("ok");
}
Run Code Online (Sandbox Code Playgroud)
也许我是非常愚蠢的,并且遗漏了一些显而易见的东西,但是我没有看到在我上面的例子中使用do的好处.