Javascript, пока цикл не будет работать должным образом - PullRequest
0 голосов
/ 30 сентября 2019

Я пытаюсь выполнить это задание для моего вступления в класс программирования, но оно не будет работать должным образом. Предполагается, что хотя значение currTime меньше 50, вычтите 5 и отобразите оставшееся количество.

function display(){
    var currTime = 50;

    while(currTime < 50){
        currTime -= 5;
        document.write("Time remaining: " + currTime + "</br>");
    }

    if(currTime = 25){
        alert("Warning Less than ½ way to launch, time left " + currTime)
    } else if(currTime == 0){
        alert("Blast Off!!! <img src='RocketLaunch.gif' />"); 
    }
}

display();

Ответы [ 5 ]

1 голос
/ 30 сентября 2019

Я предполагаю, что это именно то, что вы хотите, было несколько проблем, как вы можете видеть из комментариев.

function display(){
  var currTime = 50;

  // This should probably run as long as `currTime` is greater than `0`.
  while(currTime > 0) { 
    currTime -= 5;
    console.log("Time remaining: " + currTime + "</br>");

    // Move this `if` inside the while.
    if(currTime == 25){ // replace `=` with `==` for an equality check
        console.log("Warning Less than ½ way to launch, time left " + currTime)
    } else if(currTime == 0){
        console.log("Blast Off!!! <img src='RocketLaunch.gif' />"); 
    }    
  }
}

display();

Я заменил вызовы document.write и alert на console.log, так как это более удобно при отладке этого ...

0 голосов
/ 30 сентября 2019

Просто измените свой первый оператор while, так как он вызывает ложное значение
, в то время как (currTime <50) сделает его обратным в то время как (currTime> 50), и он начнет работать.

0 голосов
/ 30 сентября 2019
  1. Цикл не запустится
  2. , даже если вы установите значение currTime = 49 или меньше, цикл не закончится. Вы должны указать что-то, чтобы закончить цикл.
0 голосов
/ 30 сентября 2019

Вместо currTime < 50 попробуйте currTime <= 50, потому что 50<50 является ложным

0 голосов
/ 30 сентября 2019

Изменить условие во время цикла. Не возвращайте document.write и создайте отображение функции. Переместите операторы if в цикле

var currTime = 50;

function display() {
  while (currTime <= 50 && currTime >= 5) {
    currTime -= 5;
    document.write("Time remaining: " + currTime + "</br>");
    if (currTime == 25)
      console.log("Warning Less than ½ way to launch, time left " + currTime)
    else if (currTime == 0)
      console.log("Blast Off!!! <img src='RocketLaunch.gif' />");
  }

}
display();
...