我在审查逻辑看起来有瑕疵的代码。我不确定下面的代码是否会返回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