Javascript: Логическая последовательность выполнения операторов if else

Порядок выполнения имеет значение в операторах if и else if.

Выполнение цепочки операторов начинается с if, затем могут идти блоки else if или блок else. Следует быть внимательным при описании первого оператора в цепочке.

Рассмотрим две функции в качестве примера.

Первая:

function foo(x) {
   if (x < 1) {
     return "Less than one";
   } else if (x < 2) {
     return "Less than two";
   } else {
      return "Greater than or equal to two";
   }
}

Во второй, поменяем местами порядок выполнения операторов:

function bar(x) {
   if (x < 2) {
     return "Less than two";
   } else if (x < 1) {
     return "Less than one";
   } else {
   return "Greater than or equal to two";
   }
}

Несмотря на то, что две функции выглядят почти идентично, передавая в них одинаковое числовое значение, результат будет отличаться.

foo(0) // вернет "Less than one"
bar(0) // вернет "Less than two"

Задание

Измените логическую последовательность выполнения операторов if и else if так, чтобы функция возвращала правильные значения для всех тестов.

Решение всех заданий