我在使用变量值递增时遇到了麻烦,代码执行得很好,但是“ q1tries”变量仅从0递增到1,然后停止,我希望递增到3,然后警告答案。 / p>
我对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);
}
}
感谢您的时间!
答案 0 :(得分:0)
JavaScript(像大多数编程语言一样)不支持q1tries > 1 < 3
比较。而是使用&&
(AND)运算符并重复变量名称:
while (q1tries > 1 && q1tries < 3)
没有错误的原因(像大多数编程语言一样是 un )在my answer here中进行了解释(简要说明:因为q1tries > 1
会产生布尔值,而JavaScript允许将布尔值隐式强制转换为数字,因此结果被强制转换为数字,并在(result) < 3
部分中使用。)