谁能告诉我为什么在下面的代码中使用do/while lop而不是简单的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有优势吗?谢谢!
发布于 2012-08-19 01:40:05
do-while将运行一次,并在语句为true时继续运行,而if-statement仅运行一次。
在这种情况下,它们可能是等价的(取决于代码和数据的设置方式),但通常情况下,这就是do-whiles的使用方式。
发布于 2012-08-19 01:49:46
如果希望某些内容在满足特定条件之前一直重复,请使用do、for或while语句。如果只想检查一次,可以使用if语句。
发布于 2012-08-19 01:51:10
如果您使用do while循环,那么您的语句将至少执行一次。然后检查条件,如果该条件不满足,则不再执行该语句。但是,如果使用other选项,则选中first condition,如果满足该条件,则只执行一次语句。否则,它们甚至不会被执行一次。
https://stackoverflow.com/questions/12020789
复制相似问题