我正在尝试使用 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());
我创建了两个名为用户名和密码的变量,我想测试它们是否都为真,但提示似乎没有弹出。我不明白,我对代码也很陌生,真的很想学习如何做到这一点
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());