而&对于循环
While & For-Loops
我不明白为什么这个函数作为While循环工作,而不是作为For循环工作。我正在尝试计数到10,并在每次迭代时打印到控制台。
While Loop:
function oneToTenW() {
var x = 0;
while(x < 10) {
x++;
console.log ("x is equal to " + x);
}
}
对于环路:
function oneToTenF() {
for(var x = 0; x < 10; x++);
console.log ("x is equal to " + x);
}
当我调用While Loop时,我得到的是:
oneToTen();
x is equal to 1
x is equal to 2
x is equal to 3
x is equal to 4
x is equal to 5
x is equal to 6
x is equal to 7
x is equal to 8
x is equal to 9
x is equal to 10
而当我调用For Loop时,我得到的是:
oneToTenf();
x is equal to 10
有什么想法吗?
这一行就在这里:
for(var x = 0; x < 10; x++);
因为末尾有一个分号,所以语句实际上在那里终止,并且循环执行时什么都不做。要让循环执行下面的语句,您需要在循环体中包括该语句,方法是删除分号:
for(var x = 0; x < 10; x++)
console.log ("x is equal to " + x); // <- the line immediately after the for statement will be executed on every iteration
或者通过将要执行的一个或多个语句封装在块(大括号)中:
for(var x = 0; x < 10; x++) {
console.log ("x is equal to " + x);
}
现在,每次循环迭代时都会执行该语句。
在for循环后面有一个分号,所以它什么都不循环。试着删除那个分号,也许可以像while循环那样添加一些括号。
因为您有一个额外的分号
function oneToTenF() {
for(var x = 0; x < 10; x++);
// Here -------------------^
console.log ("x is equal to " + x);
}
因此,循环体完全由空语句(;
)组成。当它完成时,console.log
行运行以显示x
的当前值,即现在的10
。
要将console.log
行放入循环体中,从技术上讲,您所要做的就是移除;
:
function oneToTenF() {
for(var x = 0; x < 10; x++)
console.log ("x is equal to " + x);
}
尽管我总是在控制结构上使用块({}
):
function oneToTenF() {
for(var x = 0; x < 10; x++) {
console.log ("x is equal to " + x);
}
}
其中任何一个都会显示值0
到9
,因为for
循环的工作方式如下:
- 进行初始化(
x = 0
) - 做循环体
- 执行增量(
x++
) - 进行测试(
x < 10
) - 如果测试为真,则返回步骤2
这是因为您将;
放在for
行的末尾:
for(var x = 0; x < 10; x++);
这是将一个空语句作为for
循环的主体,在循环结束后运行console.log()
语句。
应该是:
for(var x = 0; x < 10; x++) {
console.log ("x is equal to " + x);
}
因为您有一个额外的分号。试试下面的
function oneToTenF() {
for(var x = 0; x < 10; x++){
console.log ("x is equal to " + x);
}
}
正如其他人所说,但我还是要说,
function oneToTenF() {
for(var x = 0; x < 10; x++); < Issue is right there.
console.log ("x is equal to " + x);
}
如果你这样做
function oneToTenF() {
for(var x = 0; x < 10; x++){
console.log ("x is equal to " + x);
}
}
然后它会给你想要的结果。大括号和分号man.
您缺少for循环的主体
function oneToTenF() {
for(var x = 0; x < 10; x++) {
console.log ("x is equal to " + x);
}
}
相关文章:
- 对于循环-在循环内部循环,用于获取带有ascii值的字母表
- 函数未完全循环通过循环
- 为什么while循环无限循环
- JavaScript:在 for 循环中循环
- jquery中基于剃刀循环的循环
- 如何重新启动循环javascript循环
- 简单的 do/while 循环无限循环问题
- 看起来我的每个循环都循环不止一次
- 我应该如何在同一循环中循环访问多个getElementsByClassName()调用的结果
- JavaScript 中的无限循环 - while 循环
- 了解循环:在循环中使用未定义的变量
- 如何在循环中循环此 JavaScript 代码
- 在jquery中,json对象How中的每个循环(使循环从对象中找到一个值,并与另一个对象值进行比较,以避免重复打印)
- ajax调用的循环-访问循环计数器
- javascript for循环;t循环到底
- javascript,嵌套用于循环问题
- Javascript-只用于循环打印最后一次迭代
- JS类循环和循环
- 关于循环Javascript循环和算法所需的建议
- 嵌套用于循环而递归用于固定高度的树