javascript - 为什么这个 do/while 循环会崩溃?

标签 javascript

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 block 中。

您的代码被解析为:

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 是字符串,不是函数。

关于javascript - 为什么这个 do/while 循环会崩溃?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21759845/

相关文章:

javascript - 相同的按钮样式但不同的输出

javascript - ExtJs4 动态加载工具栏中的项目

javascript - Jquery find 方法挂起我的整个浏览器

javascript - 如果构造函数返回 new Func() 会发生什么

javascript - 使用 Javascript 存储 session 显示在 ASP.NET C# 中另一个页面的标签中

javascript - 使用 AJAX 注入(inject) javascript 和 HTML

javascript - 使用 java 和 javascript 将数据从 Excel 导入数据库。更快的方法是什么?

javascript - 我如何将网格线包装到 kendo ui 网格中的限制

javascript - 如何计算印地语中的单词数

javascript - 当鼠标悬停在单词上时获取单词