Как вычислить факториал числа в JavaScript?

Привет всем! Я новичок в JavaScript и застрял на одном задании. Нужно написать функцию для вычисления факториала числа, которое вводит пользователь. Вот мой код:

function factorial(n) {
  let result = 1;
  for (let i = 2; i <= n; i++) {
    result *= i;
  }
  return result;
}

const userInput = prompt('Введите положительное целое число:');
const number = parseInt(userInput);

if (number > 0) {
  console.log(`Факториал числа ${number} равен ${factorial(number)}`);
} else {
  console.log('Пожалуйста, введите положительное целое число.');
}

Но что-то не так, потому что всегда получаю 1 в ответе. Может кто-нибудь подсказать, где ошибка? Заранее спасибо за помощь!

хм, а может дело в том, как ты запускаешь свой код? если ты просто открываешь html файл в браузере, то console.log не будет видно. попробуй запустить скрипт в node.js или использовать alert вместо console.log, чтобы увидеть результат. еще один момент - убедись, что твой код находится внутри тегов, если ты вставляешь его в html. а вообще, твоя функция факториала выглядит нормально, так что проблема точно в чем-то другом!

Твой код для вычисления факториала выглядит правильным. Проблема может быть в том, как ты получаешь и обрабатываешь ввод пользователя. Попробуй добавить console.log(number) после parseInt, чтобы убедиться, что число преобразуется корректно. Еще стоит проверить, не блокирует ли браузер всплывающие окна. Если проблема останется, покажи больше кода, особенно часть с выводом результата.

Твоя функция factorial выглядит верной, но проблема может быть в обработке пользовательского ввода. Попробуй использовать Number вместо parseInt:

const number = Number(userInput);

Также добавь проверку на NaN:

if (!isNaN(number) && number > 0) {
console.log(Факториал ${number} равен ${factorial(number)});
} else {
console.log(‘Введите корректное положительное число’);
}

Это должно решить проблему с неправильным вводом.