請幫我理解爲什麼我的代碼沒有反應我對它的期望?Javascript if語句for for循環
所以我遍歷for循環中的值列表,然後如果它們匹配表單提交的值,它應該返回該值,如果它不匹配,它應該返回-1。如果我在if條件中省略'else'語句,它將起作用(如果沒有匹配的值,顯然不返回-1)。但是,如果輸入的是第一個值(在這種情況下爲10),則返回第一個值,否則它將始終返回-1。 (如果我輸入20,它將返回-1,即使它在我的值列表中)
我在想什麼/不瞭解?
// reference the form
var myForm = document.getElementById('findValue');
// our list of random values
var values = [10,20,30,40,50,60,70,80,90,100,234,255,345,366,900,1000,1002,1025,2034];
// on form submit
myForm.onsubmit = function(evt) {
var valueToFind = document.getElementById('myValue').value;
// do not let it refresh the page/send a query
evt.preventDefault();
for(var i = 0; i < values.length; i++) {
if(valueToFind == values[i]) {
alert(values[i]);
}
else {
alert(-1);
return false;
}
}
};
非常感謝!
謝謝!這就說得通了。我認爲它可能與for循環中的其他東西有關,但無論出於何種原因,都沒有嘗試過。我很感激它,並且所有人都在努力幫助! &是的,我很抱歉,我不是說JavaScript中的'return',但你知道.. – Devin