Javascript - while循环间歇性地运行?

时间:2018-05-07 16:22:06

标签: javascript while-loop infinite-loop

如果我在控制台中运行以下功能(长度为1到10之间的整数),则会导致浏览器崩溃。

function getStr(length) {
  var random = Math.round(Math.random() * Math.pow(10, length)).toString();
   while(random.length < length) {
       random = random.padEnd('1');
   }
   return random;
}

我无法弄清楚原因。

1 个答案:

答案 0 :(得分:0)

您无法更改random.length的值,突破循环或更改while条件。你需要一些方法来摆脱它,否则它将永远循环。

function getStr(length) {
    var random = Math.round(Math.random() * Math.pow(10, 
    length)).toString();
    while(random.length < length) {
        console.log(random.length, ‘-’, length);
        length = random.length + 1; //Change the value of length
        // OR you can just break out of the loop
        break; // Break out of the loop
    }
    return random;
}

Here is a resource to learn more about JavaScript while loops