当我运行此脚本时,它会在提示用户输入第一个号码时停滞不前。它似乎不是在计算x。
function doMath() {
for (var x = 1; x < 3; x = x + 1) {
var var1;
var var2;
var var2;
var num;
if (x = 1) {
var num = prompt("Enter first number please");
var1 = parseInt(num)
}
else if (x = 2) {
var num = prompt("Enter second number please");
var2 = parseInt(num)
}
else {
var num = prompt("Enter third number please");
var3 = parseInt(num)
return Math.min(var1, var2, var3);
}
}
}
答案 0 :(得分:4)
见行:
if (x = 1)
您不是在检查x == 1,而是在进行分配x = 1。后者始终为true,这意味着始终满足条件,这就是您的代码不断提示用户的原因。 同样适用于其他条件。他们都是作业。希望这有帮助!
答案 1 :(得分:1)
您的代码存在一些问题:
- 在你的for循环x
只会1
或2
看到:(x < 3
)这意味着它永远不会返回结果
- 要检查if语句中的相等性,您需要==
或===
而非=
这是分配
- 您在循环的每次迭代中重新声明变量,从而丢失任何存储的信息
- 在for循环完成后返回
全部放在一起:
function doMath() {
var var1;
var var2;
var var2;
var num;
for(var x =1; x <= 3; x++){ //use x++ instead of x = x + 1 (easier to read)
if (x == 1) { //fix here
var num = prompt("Enter first number please");
var1 = parseInt(num)
} else if (x == 2) { //and here
var num = prompt("Enter second number please");
var2 = parseInt(num)
} else {
var num = prompt("Enter third number please");
var3 = parseInt(num)
}
}
return Math.min(var1, var2, var3);
}
答案 2 :(得分:0)
您没有调用该函数而没有输出最终结果。
这是一个有效的解决方案。希望它有所帮助!
.stroke()
&#13;