我目前正在参加Codeacademy的基础Js课程,并正在测试使用while循环场景 当我尝试这个时(见下面的代码),我的浏览器标签崩溃了 我认为这是因为我创造了一个无限循环。
有人可以向我指出问题吗?
var timeIs = 0
var addTime_1 = function(time){
var newTime = time + 1;
return newTime;
}
var addTimes = function(times){
while (times<10){
addTime_1(times)
}
}
addTimes(timeIs)
答案 0 :(得分:0)
addTime_1
实际上并未更改times
的值。它只返回用+1调用它的值。
由于times
永远不会设置为任何新内容,因此它始终保持为0。
由于0总是小于10,所以我们有一个无限循环。
编辑:
与其他人说的一样,目的是将times
设置为从addTime_1
返回的值,即times = addTime_1(times)
答案 1 :(得分:0)
您需要了解变量范围的概念。以及return
关键字
newTime
是一个全新的变量,除非您明确说明,否则times
不会更新。
times = addTime_1(times);
答案 2 :(得分:0)
您可能还需要考虑使用for()循环代替while(),以便知道您希望循环运行的次数(在此示例中为10次)。通过这种方式,您可以对循环进行更多控制,因为您可以选择循环如何递增。