有人能告诉我为什么在下面的代码中使用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是否有优势?谢谢!
答案 0 :(得分:3)
do-while
将运行一次并在语句为true时继续运行,而if-statement
只会运行一次。
在这种情况下,它可能是等效的(取决于代码和数据的设置方式),但通常是do-whiles
的使用方式。
答案 1 :(得分:1)
如果您希望在满足特定条件之前继续重复,请使用do
,for
或while
语句。如果您只想检查一次,请使用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
中,它会首先检查条件,并且只执行一次并返回响应。