一个非常愚蠢的问题,但是我在使用简单的for循环时遇到了麻烦,i值增加了...我相信这是因为for循环未满足要求的条件..但不确定出了什么问题< / p>
var text = "";
var i;
for (i = 0.0; i >= 5 / 360; i++) {
text += "The number is " + i + "<br>";
}
document.getElementById("demo").innerHTML = text;
出了什么问题:它没有打印出任何内容...
答案 0 :(得分:2)
循环的条件是i >= 5 / 360
,当循环开始时不正确。我推荐i <= 5 / 360
++
递增1。由于要求值的表达式小于1,请尝试使用+=
以较小的值递增。
例如:
var text = "";
for (var i = 0.0; i <= 5 / 360; i+=.005) {
text += "The number is " + i + "<br>";
}
document.getElementById("demo").innerHTML = text;
<div id="demo"></div>
有关更多信息,请参见以下JavaScript参考:
for statement
addition assignment
用于([初始化]; [条件]; [最终表达式])
运算符:x + = y
含义:x = x + y
答案 1 :(得分:2)
问题是条件在循环的第一个实例中变为false,5/360将为0.013888,小于0.0,因此将不会输入要添加的文本。因此存在循环,并且对象文本仅具有已初始化的初始值。
例如,如果您按以下方式更改代码段,则会生成文本:
for (i = 0.0; i <= 5/360 ; i++) {
text = text + "The number is " + i + "<br>";
}
数字是0
因此请根据您的要求检查条件以生成文本
答案 2 :(得分:2)
for循环中有3种条件
1。初始值ex i = 0
2。直到哪个值循环应迭代i <= 10
3。值应为++还是应为减少-每次迭代之后
在上述给定条件下,中间条件是错误的,它从第一次迭代中得到了错误的值,因此即使第一次迭代也无法完成
var text = "";
var i;
for (i = 0.0; i <= 5 / 360; i++) {
text += "The number is " + i + "<br>";
console.log(text)
}