为什么使用do-while而不是简单的if语句

时间:2012-08-18 17:38:03

标签: javascript if-statement do-while

有人能告诉我为什么在下面的代码中使用do / while循环而不是简单的if语句:

function prev(elem){
do {
    elem = elem.previousSibling;
} while(elem && elem.nodeType != 1);
    return elem;
}

为什么不:

function prev(elem){
if(elem && elem.nodeType != 1) {
    elem = elem.previousSibling;
    return elem;
}

使用do / while是否有优势?谢谢!

4 个答案:

答案 0 :(得分:3)

do-while将运行一次并在语句为true时继续运行,而if-statement只会运行一次。

在这种情况下,它可能是等效的(取决于代码和数据的设置方式),但通常是do-whiles的使用方式。

答案 1 :(得分:1)

如果您希望在满足特定条件之前继续重复,请使用doforwhile语句。如果您只想检查一次,请使用if语句。

答案 2 :(得分:0)

如果您正在使用do while循环,那么您的语句将至少执行一次。然后检查条件,如果条件不满足,则不再执行该语句。但是如果你使用另一个选项,则检查第一个条件,如果满足条件,那么语句只执行一次。否则他们甚至不会被执行一次。

答案 3 :(得分:0)

A While or Do While statement is a continuous loop until a condition is met.  
An If, Then, Else/Else If is a simple evaluative statement rather than a loop.

此处do-while将至少运行一次,并将执行,直到满足条件为止 但是在if-statement中,它会首先检查条件,并且只执行一次并返回响应。