Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/449.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 登录函数卡在循环中_Javascript - Fatal编程技术网

Javascript 登录函数卡在循环中

Javascript 登录函数卡在循环中,javascript,Javascript,我正在为一个类制作一个简单的ATM,我需要制作一个登录函数,在尝试了3次后将您锁定,而现在,它似乎一直在询问您的用户并通过,直到您的尝试用完为止。如果成功,它应该调用我的菜单函数,并在堆栈中添加一点文本,作为登录时所做操作的日志 功能登录(pin_daniel、pin_stephanie、pin_cano、log){ var Ingreo=假; var-intentos=1; while(intentos!=3&&ingreso==false){ var usuario=提示(“银行存款,确认

我正在为一个类制作一个简单的ATM,我需要制作一个登录函数,在尝试了3次后将您锁定,而现在,它似乎一直在询问您的用户并通过,直到您的尝试用完为止。如果成功,它应该调用我的菜单函数,并在堆栈中添加一点文本,作为登录时所做操作的日志

功能登录(pin_daniel、pin_stephanie、pin_cano、log){
var Ingreo=假;
var-intentos=1;
while(intentos!=3&&ingreso==false){
var usuario=提示(“银行存款,确认银行”,赞成使用su usuario y pin\n”+
“Usuario:”;
var pin_login=提示符(“pin:”);
如果(usuario='daniel'&&pin\u login==pin\u daniel){
Ingreo=真;
菜单(daniel_dinero_ahorro,daniel_dinero_monetaria);
log.push(usuario+“entro al-sistema”+Date.now())
}
else if(usuario=='stephanie'&&pin\u login==pin\u stephanie){
Ingreo=真;
菜单(stephanie_dinero_ahorro、stephanie_dinero_monetaria);
log.push(usuario+“entro al-sistema”+Date.now())
}
else if(usuario='cano'&&pin\u login==pin\u cano){
Ingreo=真;
菜单(cano_dinero_ahorro,cano_dinero_monetaria);
log.push(usuario+“entro al-sistema”+Date.now())
}
否则{
console.log(“通常o PIN不正确,tiene”+(3-intentos)+“oportunidades”);
intentos=intentos+1;
}
}
}

登录()我不明白你的问题

但如果您的问题是:“为什么我的日志在成功时不包含日志记录的跟踪,直到a退出菜单?”


答案是:“因为Javascript是顺序的,如果登录成功,在添加到日志之前会调用菜单函数。您需要等待菜单函数返回,将您的行添加到日志中,尝试相反的操作,这样就可以了”

我不理解您的问题

但如果您的问题是:“为什么我的日志在成功时不包含日志记录的跟踪,直到a退出菜单?”

答案是:“因为Javascript是顺序的,如果登录成功,在添加到日志之前会调用菜单函数。您需要等待菜单函数返回,将行添加到日志中,尝试相反的操作,这样就可以了”

尝试更改:

login();
致:

您需要传入包含实际管脚的变量,以便与用户提供的输入进行有效比较

当然,在实践中不应该这样做。这只是一个演示如何使用函数的示例。

尝试更改:

login();
致:

您需要传入包含实际管脚的变量,以便与用户提供的输入进行有效比较


当然,在实践中不应该这样做。这只是一个演示如何使用函数的示例。

尝试将您的条件(usuario==user&&pin\u login==pin\u user)拆分为单独的检查,以尝试找到问题。由于我们不知道pin_登录名的值,也不知道“prompt”函数是如何工作的,我们帮不了什么忙。prompt与其他语言中的输入相同,目前pin仅为1234,我尝试将其作为一个真正的登录名,在您的login()函数中,您必须将两者匹配才能让您登录,您似乎没有传入密码?是的,它们是您在ifs中比较的pin_x变量。对,但是当您调用'login();'在最底层,您没有为函数提供管脚。因此,您正在将输入与未初始化的变量进行比较。请尝试将您的条件(usuario==user&&pin\u login==pin\u user)拆分为单独的检查,以尝试查找问题。由于我们不知道pin_登录名的值,也不知道“prompt”函数是如何工作的,我们帮不了什么忙。prompt与其他语言中的输入相同,目前pin仅为1234,我尝试将其作为一个真正的登录名,在您的login()函数中,您必须将两者匹配才能让您登录,您似乎没有传入密码?是的,它们是您在ifs中比较的pin_x变量。对,但是当您调用'login();'在最底层,您没有为函数提供管脚。因此,您将输入与未初始化的变量进行比较。感谢顺序位,我不记得了,我的问题是:我有一个登录名,如果你三次登录错误,它应该会退出,但现在它卡在一个循环中,它会要求你登录,即使你是对的,它也会继续询问,直到你达到该限制并退出。感谢顺序位,我不记得了,我的问题是:我有一个登录,如果你三次登录错误,它应该会退出,但现在它卡在一个循环中,它会要求你登录,即使你是对的,它也会继续询问,直到你达到该限制并退出。