JavaScript 用户输入错误的 For 循环

JavaScript For Loop with user entry error

我目前正在研究 JavaScript 并使用 for 循环进行一些简单的计算,我正在尝试获取他们想要的 Table 集的用户信息以及他们希望在两者之间相乘的数字例如

这将打印:

  1. 12 x 3 = 36
  2. 12 x 4 = 48
  3. 12 x 5 = 60
  4. 12 x 6 = 72

我的问题是,当我询问用户 select 他们希望乘多高时,如果他们 select 一个大于 9 的数字,它不会进入 for 循环并打印9 及以下还没有工作。

这是足够简单的代码:

   function UserEnteredTables()
   {
       var tableNumber = prompt("Please enter the number tables to use: ");
       var numberLowerLimit = prompt("Please select where you want to start multiplying from: ");
       var numberUpperLimit = prompt("Please select how high to multiply to: ");
       document.write("Before the loop " + numberUpperLimit + "<br/>");

      for (i = numberLowerLimit; i <= numberUpperLimit; i++)
      {
          document.write("Made it inside the loop " + "<br/>");
          document.write(tableNumber + " * " + i + " = " + (i * tableNumber) + "<br/>");
      }
      document.write("After the loop " + numberUpperLimit);
  }

对于任何缩进问题深表歉意,由于某些原因粘贴时出现问题

我附上了两张图片,一张是我输入的上限为 9,另一张是我输入 10。如您所见,10 没有进入循环。

我想我错过了一些非常简单的事情,但如果有人能解释问题是什么或者它是否与 JavaScript 循环有关,我将不胜感激。

如果 post 有问题,或者您需要一些其他代码才能完全理解,请告诉我。

提前致谢:)

问题在于返回的 prompt 值:它的 typeofstring,而您想要的是 number 以使循环正常工作。

使用parse()从提示值中提取数值,看这里:

https://jsfiddle.net/jwvj2aab/1/

请注意,您需要处理用户输入才能拒绝数字以外的任何内容