-1

我有一个简单的 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*)
}

谢谢你的想法。

4

1 回答 1

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。这是你有的吗?如果没有,请显示其余的功能。查看您的测试用例也很有帮助。

于 2013-03-25T22:04:59.393 回答