gpt4 book ai didi

javascript - 将多个 IF ELSE 语句组合成 AND 语句会导致脚本停止工作

转载 作者:行者123 更新时间:2023-11-28 18:07:14 25 4
gpt4 key购买 nike

以下代码工作正常,但是 another user recommended combining statements使我的代码更高效、更少冗余。我实现了这些更改,相信这不会导致任何问题,但它却使我的整个功能停止了。

function loginauth() {
var success = false;
/*roles (privilege levels) are defined as follows:
priv0 = User is not logged in
priv1 = User is logged in using the account "guest"
priv2 = User is logged in using a standard user account
priv3 = User is logged in using an elevated user account
priv4 = User is logged in using an administrator account
priv5 = User is logged in using the super administrator account
*/
var Xusername = document.getElementById("lsr1u").value;
var Xpassword = document.getElementById("lsr1p").value;
if (Xusername == "administrator") {
if (Xpassword == "5YPwP7$luJailk1b2TCAdSEp7ZCfHUdRfwYm3mwc!1D3BP3ML8^00uoUXIncN8N") {
success = true;
role = "priv5";
userFN = "Administrator";
}
else {
document.getElementById("wrong").innerHTML = "The username or password is incorrect."
}
}
else if (Xusername == "guest") {
if (Xpassword == "guest") {
success = true;
role = "priv1";
userFN = "Guest";
}
else {
document.getElementById("wrong").innerHTML = "The username or password is incorrect."
}
}
else if (Xusername == "admin") {
if (Xpassword == "AdminPassw0rd$0") {
success = true;
role = "priv4";
userFN = "Admin";
}
else {
document.getElementById("wrong").innerHTML = "The username or password is incorrect."
}
}
else if (Xusername == "jdoe") {
if (Xpassword == "E2HfYrhyGEwcdWnAVgVD") {
success = true;
role = "priv2";
userFN = "John Doe";
}
else {
document.getElementById("wrong").innerHTML = "The username or password is incorrect."
}
}
else {
document.getElementById("wrong").innerHTML = "The username or password is incorrect."
}
if (success) {
document.getElementById("wrong").innerHTML = ("");
setTimeout(function() {
nextauth();
}, 475);
}
}

简单地将多个 if 语句组合成一个 and 语句会导致函数停止工作:

function loginauth() {
var success = false;
var Xusername = document.getElementById("lsr1u").value;
var Xpassword = document.getElementById("lsr1p").value;
if (Xusername == "administrator" && Xpassword == "5YPwP7$luJailk1b2TCAdSEp7ZCfHUdRfwYm3mwc!1D3BP3ML8^00uoUXIncN8N") {
success = true;
role = "priv5";
userFN = "Administrator";
}
}
else if (Xusername == "guest" && Xpassword == "guest") {
success = true;
role = "priv1";
userFN = "Guest";
}
else if (Xusername == "admin" && Xpassword == "AdminPassw0rd$0") {
success = true;
role = "priv4";
userFN = "Admin";
}
else if (Xusername == "jdoe" && Xpassword == "E2HfYrhyGEwcdWnAVgVD") {
success = true;
role = "priv2";
userFN = "John Doe";
}
else {
document.getElementById("wrong").innerHTML = "The username or password is incorrect."
}
if (success) {
document.getElementById("wrong").innerHTML = ("");
setTimeout(function() {
nextauth();
}, 475);
}
}

绝对没有任何其他改变。

最佳答案

第一个 if 语句后有两个右大括号,此时将关闭您的 loginauth 方法。

其余代码不会作为该方法调用的一部分进行评估。

关于javascript - 将多个 IF ELSE 语句组合成 AND 语句会导致脚本停止工作,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/42356917/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com