Произведение чётных. Что скажите??

var lastNumber = 5;
var multiplicationResult = 1;
var i = 0;

while (i <= lastNumber) {
  i++;
  if (i % 2 === 0) {
    multiplicationResult *= i;
  }
}
var lastNumber = 5;
var multiplicationResult = 1;

for (var i = 1; i <= lastNumber; i++) {
  if (i % 2 === 0) {
  multiplicationResult *= i;
  }
}

Получилось так.

var lastNumber = 19;
var multiplicationResult = 1;

for (var i = 2; i <= lastNumber; i+=2) {
multiplicationResult *= i;
}

Объясните почему с 0 не работает?

for (var i = 0; i <= lastNumber; i+=2) {
  multiplicationResult = multiplicationResult*i;
}

потому что первое умножение будет на ноль, соответственно все последующие дадут тоже ноль

А почему последующие тоже будет ноль? Ведь шаг 2, т.е. следующее умножение будет на 2.

multiplicationResult будет 0 после первой итерации, неважно на сколько вы его будете умножать потом.

Привет, не знал как с тобой связаться, можешь мне на емаил написать kontaktid@ya.ru?

Лаконично)

let lastNumber = 5;
let multiplicationResult = 1;

for (let i = 2; i <= lastNumber; i += 2) {
multiplicationResult *= i
}