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

Я не знаю, почему он перестает зацикливаться после выполнения условия (например, получение суммы числа от того, где оно предшествует).Я считаю, что с кодом что-то не так.Где это?

var init = parseInt(prompt('enter an odd or even no.'));
var sec = init%2;

if (sec != 0) {
    var loop = 5;   
    while (loop < 10) {
        var num = 1;
        loop += loop; 
        num += 2
    }
    document.write(num);
} else {
    document.write('None');
}   

Ответы [ 3 ]

0 голосов
/ 01 марта 2019

Вам необходимо инициализировать num с помощью 1 вне оператора while, потому что вы присваиваете это значение для каждого цикла.

Я предлагаю объявить все переменные в advane в верхней частикод.Здесь вы также можете назначить известные значения.

var init = parseInt(prompt('enter an odd or even no.'), 10),
    sec = init % 2,
    loop = 5,
    num = 1;

if (sec != 0) {
    while (loop < 10) {
        loop += loop;
        num += 2;
    }
    document.write(num);
} else {
    document.write('None');
}
0 голосов
/ 01 марта 2019

Это то, что вы пытаетесь сделать?Переменные, объявленные с var, не имеют области видимости блока, поэтому может быть понятнее объявить их все в верхней части вашего кода.

var init = parseInt(prompt('enter an odd or even no.'));
var sec = init % 2;
var loop = 5;
var num = 1;
		
if(sec != 0) {
  while(loop < 10) {
    num+=2; 
    loop++;   
    document.write(num);
  }
}  else { 
  document.write('None');
}
0 голосов
/ 01 марта 2019

Зацикливание происходит, но вы просто его не видите, потому что ничего не печатаете, когда оно зацикливается.

Вместо этого ваш код должен выглядеть следующим образом:

var init = parseInt(prompt('enter an odd or even no.'));
var sec = init%2;

if (sec != 0) {
    var loop = 5;   
    while (loop < 10) {
        var num = 1;
        loop += loop; 
        num += 2
        document.write(num);
    }

} else {
    document.write('None');
} 

Обратите внимание, что document.write(num) теперь находится ВНУТРИ вашего цикла, поэтому он будет печатать каждый раз, когда проходит цикл.

Раньше он был установлен снаружи, поэтому, по сути, происходило то, что вы видели результат только ПОСЛЕ последнегоитерации.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...