Проблема с приращениями значений переменных - PullRequest
0 голосов
/ 16 ноября 2018

У меня реальная проблема с приращениями значений переменных, код выполняется нормально, но переменная "q1tries" только увеличивается от 0 до 1 и затем останавливается, я смотрю с приращением до 3 и затем предупреждаю ответ.

Я очень новичок в javascript, и любые предложения будут высоко оценены.

function quiz(){
    q1();
    q2();
}

const q1 = function(){    
    var q1answer ="24000"
    var q1tries = 0;

q1prompt = prompt("What is 23745 to the nearest thousand?");
if (q1prompt == q1answer){
    alert("Well done! " + person + ", you're score is " + ++score)
    alert("You have taken " + ++q1tries + " tries.");
}

else {
    alert("Sorry " + person + " that's the wrong answer, you're score is " + score)
    alert("You have taken " + ++q1tries + " tries.");
}

while (q1tries >1 <3){
    q1();
}

while (q1tries == 3) {
    alert(q1answer);
}

}

Спасибо за ваше время!

1 Ответ

0 голосов
/ 16 ноября 2018

JavaScript (как и большинство языков программирования) не поддерживает q1tries > 1 < 3 сравнения. Вместо этого вы используете оператор && (AND) и повторяете имя переменной:

while (q1tries > 1 && q1tries < 3)

Причина, по которой вы не получаете сообщение об ошибке ( un , как и у большинства языков программирования), объясняется в моем ответе (кратко: поскольку q1tries > 1 приводит к логическому значению, и JavaScript допускает неявное приведение логических значений к числам, поэтому результат приводится к числу и используется в части (result) < 3).

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