Проблема с функцией Javascript

#javascript #html #function

#javascript #HTML #функция

Вопрос:

Я пытаюсь заставить пользователя ввести число, затем ввести другое число, с которого начнется таблица умножения для первого введенного числа, и продолжать увеличивать на единицу, пока не будет достигнуто последнее число, для которого пользователю было предложено…

например, если пользователь должен был ввести 10, затем 1, затем 10, результат будет выглядеть следующим образом:

10 * 1 = 10
10 * 2 = 20
10 * 3 = 30

10 * 10 = 100

Что я делаю не так?

Спасибо за помощь!

 function multiplierz(numberMultiplied, amountToMultiplyFirst, amountToMultiplyLast)
    {


        while (isNaN(numberMultiplied) = true || isNaN(amountToMultiplyFirst) = true || isNaN(amountToMultiplyLast) = true)
        {
            alert("YOU DID NOT ENTER ONLY NUMBERS. WAY TO GO DUMMY.");
            var numberMultiplied = prompt("Please Enter The Number to Multiply");
            var amountToMultiplyFirst = prompt("Start multiplying by which number?");
            var amountToMultiplyLast = prompt("End multiplying by which number?");
        }
        for (counter = amountToMultiplyFirst; counter <= amountToMultiplyLast; counter  )
            {
                document.write(numberMultiplied   " * "   counter   " = "   numberMultiplied * counter   "<br />");
            }
    }

    //Begin Program Below


        multiplierz(prompt("Please Enter The Number to Multiply"),prompt("Start multiplying by which number?"),prompt("End multiplying by which number?"));
</script>
  

Ответ №1:

isNan(numberMultiplied) = true Выдает ошибку. В javascript = оператор предназначен для присваивания.

Просто сделайте

 while (isNaN(numberMultiplied) || isNaN(amountToMultiplyFirst) || isNaN(amountToMultiplyLast) )
  

Ответ №2:

Вам нужно использовать == вместо = в вашем while состоянии:

 while (isNaN(numberMultiplied) == true || isNaN(amountToMultiplyFirst) == true || isNaN(amountToMultiplyLast) == true)
{
  ...
}
  

Ответ №3:

Простая вещь, которую вы не учли, amountToMultiplyFirst должна быть меньше, чем amountToMultiplyLast 🙂