Javascript:循环结束后发出警报消息

时间:2018-11-26 23:37:45

标签: javascript for-loop

这是学校的简单登录练习。它旨在为您提供3次登录尝试。我想这样做,以便在循环停止(使用了3次尝试)之后,它提醒用户他没有剩余尝试,并且帐户将被阻止。

类似的东西:

alert("You don't have any attempts left. Your account is now blocked);

这是我做的循环:

var tries;

for (tries = 2; tries !== -1; tries--) {
    let User = prompt("Enter your username:");
    let Pass = prompt("Enter your password:");
        if (User === "hello" && Pass === "world") {
            alert("Welcome.");
            break;
        } else {
            alert("Incorrect username and/or password. You have " + tries + " attempt(s) left.");
        }
}

谢谢。

5 个答案:

答案 0 :(得分:2)

您非常亲近。我想这就是你想要的。

var tries;

for (tries = 2; tries >= 0; tries--) {
    let User = prompt("Enter your username:");
    let Pass = prompt("Enter your password:");
        if (User === "hello" && Pass === "world") {
            alert("Welcome.");
            break;
        } else if (tries == 0) {
            alert("You don't have any attempts left. Your account is now blocked");
        }  else {
            alert("Incorrect username and/or password. You have " + tries + " attempt(s) left.");
        }
}

答案 1 :(得分:1)

您可以递归实现。每次输入错误的用户名或密码时,只需减少尝试次数即可。

     P.x[i]=XX+x;

答案 2 :(得分:0)

var tries;

for (tries = 0; tries < 3; tries++) {
    let User = prompt("Enter your username:");
    let Pass = prompt("Enter your password:");
        if (User === "hello" && Pass === "world") {
            alert("Welcome.");
            break;
        } else {
            alert("Incorrect username and/or password. You have " + tries + " attempt(s) left.");
        }
        if(tries == 2)
        {
            alert("You don't have any attempts left. Your account is now blocked);
        }
}

答案 3 :(得分:0)

也许您可以通过执行以下操作来实现:

for (var attemptsRemaining = 3; attemptsRemaining > 0; attemptsRemaining--) {
  
    let User = prompt("Enter your username:");
    let Pass = prompt("Enter your password:");
  
    if (User === "hello" && Pass === "world") {        
      alert("Welcome.");
      break;
    
    } else if(attemptsRemaining <= 1) {          
      alert("To many failed attempts. Your account is now blocked.");
    }
    else {    
      alert("Incorrect username and/or password. You have " + (attemptsRemaining - 1) + " attempt(s) left."); 
    }
  }
}

这里的想法是添加一个额外的检查,以查看attemptsRemaining的数量是否已达到一个(或更少,为了鲁棒性),此时所有尝试都已终止。在这种情况下,您将显示一个弹出窗口,提醒用户其帐户已被阻止。

希望有帮助!

答案 4 :(得分:0)

let tries = 0;
for (tries = 3; tries-->0;) {
    let User = prompt("Enter your username:");
    let Pass = prompt("Enter your password:");
    if (User === "hello" && Pass === "world") {
        break;
    } 
    if (tries>0) {
       alert("Incorrect username and/or password. You have " + tries + " attempt(s) left.");
    }
}
if (tries<0) {
    alert("You don't have any attempts left. Your account is now blocked");
} else {
    alert("Welcome.");
}