我正在尝试使用 javascript 制作登录屏幕,但打开页面时它不会加载

I am trying to make a login screen with javascript but it does not load when open the page

我创建了两个名为用户名和密码的变量,我想测试它们是否都为真,但提示似乎没有弹出。我不明白,我对代码也很陌生,真的很想学习如何做到这一点

var 1 = false;
var 2 - false;

function login() {

var username = prompt("Username");
var password = prompt("Password");

if (username == "wouterXD") {
    1 = true;
} else {
    1 = false;
}

if (password == "Wout2003!") {
    2 = true;
} else {
    2 = false;
}
};
    if (1 = false && 2 = false) {
        alert("Wrong Password and Username!");
        login();
    }

这段代码有很多问题...

首先,永远不要将变量命名为整数...因此请将它们重命名为更...合适的名称。

其次,您的 var 2 是错误的。你有一个减号而不是等号。 至少但不是最后,你的逻辑运算符也是错误的。

单等号是赋值,在你的if语句中你应该检查它们是否相同,所以需要像这样的双等号

if(firstVariable == false && secondVariable == false){

}

改正这些错误后,您仍然无法实现您想要的功能。最后一个运算符(我在上面发布的那个)在函数体之外,即它不会在函数为 运行.

时执行
var firstVariable = false;
var secondVariable = false;

function login() {

   var username = prompt("Username");
   var password = prompt("Password");

   if (username == "wouterXD") {
       firstVariable = true;
   } else {
       firstVariable = false;
   }

   if (password == "Wout2003!") {
       secondVariable = true;
   } else {
       secondVariable = false;
   }

   if (firstVariable = false && secondVariable = false) {
        alert("Wrong Password and Username!");
        login();
   }
};

你的代码有很多错误,不过应该可以。

你弄错的是:

  • 您不能使用 - 运算符设置变量
  • 您不能在 if 语句中使用单个 =
  • 进行比较
  • 不能用数字命名变量。

var unc = false; // username correct
var pwc = false; // password correct

while (!login());

function login() {

    var username = prompt("Username");
    var password = prompt("Password");

    if (username == "wouterXD") {
        unc = true;
    } else {
        unc = false;
    }

    if (password == "Wout2003!") {
        pwc = true;
    } else {
        pwc = false;
    }

    if (unc && pwc){
        return true;
    } else {
        return false;
    }
};

var 1 = false;

表示一个名为1的变量将得到false的值。但这在语法上是不正确的。使用整数名称命名变量是无效的。你也对=的含义感到困惑,它是赋值运算符。让我们看一个简化的解决方案:

var uCorrect = false;
var pCorrect = false;

function login() {
    uCorrect = (prompt("Username") == "wouterXD");
    pCorrect = (prompt("Password") == "Wout2003");
    if ((!uCorrect) && (!pCorrect)) {
        alert("Wrong Password and Username!");
    }
    return uCorrect && pCorrect;
}

while (!login());

或者一个极其简化的解决方案,如果你不需要存储这些数据:

function login() {
    return (prompt("Username") == "wouterXD") && prompt("Password") == "Wout2003";
}

while (!login());