我在審查邏輯看起來有瑕疵的代碼。我不確定下面的代碼是否會返回false,因爲if返回流。我的問題是,下面的代碼是否會返回false,甚至會拋出錯誤?這段代碼是否會返回false?
function performSearch(e) {
if(e.keyCode === RETURN_KEY_KEYCODE) {
var select = document.getElementById("selectmenusearch");
var selected = select.options[select.selectedIndex].value;
if(selected === 'organisation') {
submitSearchForm('<%= doOrganisationSearchURL %>');
} else {
submitSearchForm('<%= doIndividualSearchURL %>');
}
} else {
return false;
}
return true;
}
因此流向我看起來像
if (this condition is true) {
//execute some code
} else {
return false
}
else return true
注:我知道這將是更好的重構有隻有一個返回語句,但就像有兩個else
語句在我看來。
當'e.keyCode!== RETURN_KEY_KEYCODE'? – thefourtheye 2015-03-25 11:45:18
並不清楚你的要求,看起來像一個非常規則的if/else塊 – Veverke 2015-03-25 11:45:48
它應該等於RETURN_KEY_CODE,因爲它正在檢查按鍵,if它已被按下,然後表單可以提交 – br3w5 2015-03-25 11:46:35