Wenn die Bedingung in der for-Schleife erfüllt ist, möchte ich den Code nicht mehr ausgeführt werden. Wenn die Bedingung nicht erfüllt ist, möchte ich, dass der Code außerhalb der for-Schleife weiterläuft und die Warnung ausführt.So stoppen Sie den Rest des Codes ausgeführt werden - JavaScript
Viele Quellen haben mir gesagt, dass ich das Schlüsselwort "return" verwenden soll. Ich habe es benutzt, aber der Alarm läuft auch, wenn die Bedingung erfüllt ist.
Habe ich das Keyword an der falschen Stelle platziert? Oder gibt es eine bessere Möglichkeit, die Funktion zu stoppen, wenn die Bedingung erfüllt ist?
Das ist mein javascript:
function addEvent() {
var snumber = document.getElementById('snumberE').value;
var pass = document.getElementById('passE').value;
var passS = String(pass)
var snumS = String(snumber)
var arr = JSON.parse(localStorage.getItem('profiles'));
for(var i=0; i<arr.length; i++) {
if(arr[i].password == passS && arr[i].snumber == snumS) {
window.location = "StudentView.html";
alert('YEAAA');
return;
}
}
alert('Please enter valid login info');
}
function addEvt() {
var uname = document.getElementById('name').value;
var psw = document.getElementById('pass').value;
var arr1 = JSON.parse(localStorage.getItem('profilesT'));
for(var i=0; i<arr1.length; i++) {
var uname = document.getElementById('name').value;
var psw = document.getElementById('pass').value;
if(arr1[i].pass1 == psw && arr1[i].usern == uname) {
window.open('createAnnouncement.html');
return;
}
}
alert('Please enter valid credentials or sign up');
}
Ihre 'return' erwarten richtig plaziert ist für das, was Sie wollen. Was Sie behaupten zu beobachten, ist unmöglich –
Ihr 'Alarm ('YEAAA');' sollte nie feuern, da Sie die Position des Fensters vorher ändern. Bist du sicher, dass dein 'arr' eine Länge hat? – Kaiido
Ja, ich habe es erneut versucht und es führt wie gewünscht aus. Ich war wahrscheinlich mit anderen Fehlern in meinem Code verwechselt. Vielen Dank! –