【发布时间】:2019-10-11 17:09:02
【问题描述】:
我的 while 循环中有一个无限循环,我找不到原因。
这是一个简单的函数,它返回参数数字的总和。我使用了一个while循环,因为它需要将数字相加,直到它到达一个数字。 我确保我添加了一个语句,以确保在某个点循环会中断。但显然不会。
function digital_root(n) {
num = n;
sum = 0;
while (num.toString().length>1){
for (i=0; i<num.toString().length; i++) {
sum += parseInt(num.toString()[i])
}
num = sum;
}
return sum;
}
digital_root(456)
我收到警告说我在第 4 行有一个无限循环(while 循环)。
我希望num=sum 将新整数(位数减少)重新分配给numvariable,从而在某个时候跳出循环。这是错的吗?
让我更加困惑的是,我用来调试问题的大多数 JS 编辑器都会返回输出,但这需要很长时间。那么它是一个无限循环还是不是?
【问题讨论】:
标签: javascript loops while-loop infinite-loop