var doLoop = ("This is a do loop ya'll");
var doLoopArray = [];
var doLoopCount = 1;

do (console.log(doLoop));
while(doLoopCount <= doLoop.length); {
     console.log(doLoop(0, doLoopCount));
     doLoopCount += 1;
}


我认为这个do循环将运行23次(doLoop字符串中的字符数然后停止),但这似乎是无限的。

最佳答案

问题是您在while之后有代码体。这不是[do-while 2的地方!该代码应该放在do块中。

您的代码被解析为:

do{
    (console.log(doLoop));
}
while(doLoopCount <= doLoop.length);
{
     console.log(doLoop(0, doLoopCount));
     doLoopCount += 1;
}


这就是为什么它是一个无限循环。它会将{}中的代码视为block,而不是do-while结构的一部分。

您需要正确构造do-while。它可能应该是:

do{
    console.log(doLoop);
    console.log(doLoop(0, doLoopCount));
    doLoopCount += 1;
} while(doLoopCount <= doLoop.length);


附言doLoop(0, doLoopCount)不起作用。 doLoop是字符串,不是函数。

10-06 00:09