我有以下 JavaScript 代码,我想做的基本上是将数字 1 加倍,并根据用户输入继续进行。除了我的 for 循环之外,所有代码都有效。另外,我尝试在“步骤”中添加空格,但无论我在 document.write 语句中添加多少空格,它都不会反射(reflect)在网页中。感谢您提前的帮助
var num=1;
function iterations()
{
document.write("<b>Sequence of numbers up to iteration number: </b>"+numIterations+"<br>");
for(var i=1;i<=numIterations;i++)
{
var total=num*2;
if(numIterations<10)
{
document.write("<b>STEP "+i+":</b>"+" "+" "+" "+num+"*2="+total+"<br>");
}
else
{
document.write("<b>STEP "+i+":</b> "+num+"*2="+total+"<br>");
}
num*2;
}
}
var numIterations= prompt("Please enter the upper limit\n\nDo NOT exceed 30");
if(numIterations==null||numIterations>30)
{
document.write("User enter an invalid (out of range) value");
}
else
{
iterations();
}
最佳答案
你需要*=
你的num
变量,这样它每次都会计时,因为目前你不断用相同的数字替换它,因此不起作用 - 简单的错误所以不用担心。
以下作品:
var num = 1;
function iterations()
{
document.write("<b>Sequence of numbers up to iteration number: </b>"+numIterations+"<br>");
for(var i=1;i<=numIterations;i++)
{
var total=num*2;
if(numIterations<10)
{
document.write("<b>STEP " + i +":</b>"+" "+" "+" "+num+"*2="+total+"<br>");
}
else
{
document.write("<b>STEP " + i +":</b>"+num+"*2="+total+"<br>");
}
num*=2;
}
}
var numIterations= prompt("Please enter the upper limit\n\nDo NOT exceed 30");
if(numIterations==null||numIterations>30)
{
document.write("User enter an invalid (out of range) value");
}
else
{
iterations();
}
关于javascript - 无法弄清楚为什么数字不会增加,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36297335/