[英]Javascript loop stuck
当我运行此脚本时,它会提示用户输入第一个数字。 似乎不算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);
}
}
}
见行:
if (x = 1)
您不是在检查x == 1,而是在分配x = 1。 后者始终为true,这意味着始终满足条件,这就是为什么您的代码不断提示用户的原因。 对于其他条件类似。 它们都是作业。 希望这可以帮助!
您的代码存在一些问题:
-在for循环中, x
只会看到1
或2
:( x < 3
)这意味着它将永远不会返回结果
-要在if语句中检查是否相等,您需要==
或===
not =
这是分配
-您在循环的每次迭代中都会重新声明变量,从而丢失所有存储的信息
-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);
}
您没有在调用该函数,也没有输出最终结果。
这是一个可行的解决方案。 希望能帮助到你!
function doMath() { var var1; 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); } document.write(doMath());
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.