if else代码块执行

时间:2013-03-25 21:58:19

标签: javascript

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

感谢您的想法。

1 个答案:

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