首页 > 解决方案 > 也许你只是知道是什么让这个循环上的星号如此之多

问题描述

    var s = '';
    for (var i = 0; i < 5; i++) {
        for (var j = 0; j < 10; j++) {
            s += '*'
        }
        s += '\n';
        console.log(s)
    }




    maybe you just know what makes the asterisks on this loop so much?

即使我只想重复5行,但为什么会有这么多结果?

      [1]: https://i.stack.imgur.com/7zzOu.png

标签: javascriptfor-loop

解决方案


您的代码正在产生以下结果:

问题代码

因为没有在s外部迭代中重置 var。

相反,您可以这样做:

for (let i = 0; i < 5; i++) {
  let s = '';
  for (let j = 0; j < 10; j++) {
    s += '*';
  }
  s += '\n';
  console.log(s);
}

这将产生预期的结果。


推荐阅读