JavaScript 用户输入错误的 For 循环
JavaScript For Loop with user entry error
我目前正在研究 JavaScript 并使用 for 循环进行一些简单的计算,我正在尝试获取他们想要的 Table 集的用户信息以及他们希望在两者之间相乘的数字例如
- 输入Table集:12
- 输入从哪里开始相乘:3
- 输入乘法的高度:6
这将打印:
- 12 x 3 = 36
- 12 x 4 = 48
- 12 x 5 = 60
- 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
值:它的 typeof
是 string
,而您想要的是 number
以使循环正常工作。
使用parse()
从提示值中提取数值,看这里:
https://jsfiddle.net/jwvj2aab/1/
请注意,您需要处理用户输入才能拒绝数字以外的任何内容
我目前正在研究 JavaScript 并使用 for 循环进行一些简单的计算,我正在尝试获取他们想要的 Table 集的用户信息以及他们希望在两者之间相乘的数字例如
- 输入Table集:12
- 输入从哪里开始相乘:3
- 输入乘法的高度:6
这将打印:
- 12 x 3 = 36
- 12 x 4 = 48
- 12 x 5 = 60
- 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
值:它的 typeof
是 string
,而您想要的是 number
以使循环正常工作。
使用parse()
从提示值中提取数值,看这里:
https://jsfiddle.net/jwvj2aab/1/
请注意,您需要处理用户输入才能拒绝数字以外的任何内容