我有一个简单的if-else代码块,如下所示。它看起来很简单,但我无法解释它的行为:如果不包含“else”块,那么代码行(1 *)总是被击中!但是如果我添加一个“else”块,那么代码行(2 *)就会被命中。
var startTime = '11:35 PM';
var endTime = '4:40 PM';
if (startTime.indexOf('12:') >= 0 && endTime.indexOf('12:') < 0) {
return true; // code line (1*)
}
else
{
return false; // code line (2*)
}
感谢您的想法。
答案 0 :(得分:2)
考虑以下功能:
function randomName () {
var startTime = '11:35 PM';
var endTime = '4:40 PM';
if (startTime.indexOf('12:') >= 0 && endTime.indexOf('12:') < 0) {
return true; // code line (1*)
}
else {
return false; // code line (2*)
}
return true;
}
这会展示您描述的行为。如果没有else部分,它将永远返回true。这是你的吗?如果没有,请显示其余功能。同样有用的是查看您的测试用例。