Javascript计数器控制循环使用(while)错误

时间:2016-03-12 11:50:36

标签: javascript

我是java脚本编程的新手。我想打印0到100之间的整数。这是我的代码。

    var outputAreaRef = document.getElementById("outputArea");


var i = 0; //Initialize counter
var number = 0;
while ( i <= 100) // Test Counter
    {
      number = number + 1 + "<br />";
        i = i + 1; // Increment counter
        outputAreaRef.innerHTML = number;

    }

它打印数字100次。但如果我改变这样的代码, number = number + i +&#34 ;; 它将打印从0到100。 waht是两个代码之间的区别? 提前谢谢

3 个答案:

答案 0 :(得分:1)

您正在将字符串与数字混合。您需要在一个变量中进行数值计算,在另一个变量中进行字符串连接。要增加数字,您可以重复使用i变量:

var outputAreaRef = document.getElementById('outputArea');
var i = 0;
var number = '';
while (i <= 100) {
    i = i + 1; // numeric addition
    number = number + i + '<br />'; // string concatenation
}
outputAreaRef.innerHTML = number; // it is ok to set html content only once

答案 1 :(得分:0)

代码不起作用,因为您的输出为number,而number永远不会更改,并且将保持为0,因为在while循环中,只有{{1} }改变了。

同样改变:

i

outputAreaRef.innerHTML = number;

这样每个循环都不会替换输出区域的整个innerhtml。

修改你的while循环,它将完美地运作:

outputAreaRef.innerHTML = outputAreaRef.innerHTML + number;

Working fiddle

答案 2 :(得分:0)

第一次运行后

var number成为String,之后数字1连续到number