Javascript JS循环仅在与数组中的最后一个元素匹配时起作用
我无法让循环在我的简单js登录脚本中工作。当我尝试使用数组user3和pass3中最后一个以外的任何登录名登录时,它返回false 我做错了什么 我试过==和== 找到时使用break。否则,下一个循环会将success设置为falseJavascript JS循环仅在与数组中的最后一个元素匹配时起作用,javascript,Javascript,我无法让循环在我的简单js登录脚本中工作。当我尝试使用数组user3和pass3中最后一个以外的任何登录名登录时,它返回false 我做错了什么 我试过==和== 找到时使用break。否则,下一个循环会将success设置为false for (var i = 0; i < userLogins.length; i++) { if(pass == userLogins[i].password && user == userLogins[i].user )
for (var i = 0; i < userLogins.length; i++)
{
if(pass == userLogins[i].password && user == userLogins[i].user )
{
success = true;
break;
}
else
{
success = false;
}
}
secret(success);
找到时使用break。否则,下一个循环会将success设置为false
for (var i = 0; i < userLogins.length; i++)
{
if(pass == userLogins[i].password && user == userLogins[i].user )
{
success = true;
break;
}
else
{
success = false;
}
}
secret(success);
别忘了声明i,对于var i=0,否则会有麻烦…请告诉我这是免费的,是安全的!不。这是一项任务。我永远不会用JS来做任何安全的事情。别忘了声明I,对于var I=0,否则会有麻烦……请告诉我这是为了安全!不。这是一项任务。我永远不会像这样使用JS来做任何更好的事情,去掉else分支,在开始时设置success=false,然后设置success,调用secret,当您找到一个简单的匹配时返回循环外!我怎么看不出来呢。更好的是,去掉else分支,在开始时设置success=false,然后设置success,调用secret,当您找到一个简单的匹配时返回循环外!我怎么没看到呢。
for (i = 0; i < userLogins.length; i++)
{
if(pass == userLogins[i].password && user == userLogins[i].user )
{
success = true;
}
else
{
success = false;
}
}
var success = false;
for (i = 0; i < userLogins.length; i++) {
if (pass == userLogins[i].password && user == userLogins[i].user) {
success = true;
break;
}
}