[英]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.