(javaScript) 进出 'for loop' 的值
(javaScript) value in and out of 'for loop'
我是 javaSCript 的初学者,只是想知道为什么在循环“内部”和循环“外部”调用时结果不同。
for (var i = 0; i < 5; i++) {
console.log(i);
// prints 0 1 2 3 4
}
console.log(i);
// prints 0 1 2 3 4 5
在循环内部,它记录了从 0
到 4
的数字。最后的 i++
将 i
设置为 5
,循环停止,因为 i < 5
不再为真。然后循环后的 console.log(i)
记录这个值。
在循环执行期间,条件 i < 5 因 "5<5" 而失败,但此处 i 的值仍然变为 '5',在循环外执行
for (var i = 0; i < 5; i++) {
console.log("inside loop: " + i);
// prints 0 1 2 3 4
}
console.log("outside loop: " + i);
// prints just 5
这就是 JS 中 var 的工作方式,也是所有语言中 for 循环的工作方式。
当您使用 var 关键字声明一个变量时,它会被提升到函数作用域,或者如果不在函数内部则为全局变量。这使您可以在 for 循环范围之外访问 var。尝试将 var 更改为 let,看看会发生什么。
其次,由于您的条件 i < 5
,您没有在 for 循环中看到 5 打印出来。 i++
导致 'i' 从 4 变为 5,这打破了 for 循环条件并且不打印 'i'。
最后 console.log(i) 在 for 循环之外应该只打印 5 因为那是 i 在那个时候的值而不是
console.log(i);
// prints 0 1 2 3 4 5
// should print 5
因为for循环步骤是:
- 1 - 定义一个变量,
- 2 - 检查条件,
- 3 - 运行 循环内的代码,
- 4 - 并将循环变量值增加 1 ,
But! 在定义变量和第一次循环后,它会忽略第一个参数 var i = 0 并且它会将循环变量加 1,并检查条件,为什么?因为在for循环中,最后要做的就是将循环变量加1,
所以最后一个循环会将循环变量加1并检查条件,
简单地说:变量已经通过循环变为 5,因为在第一个循环之后它会将变量增加 1 并检查条件
希望我的回答对你有用!
我是 javaSCript 的初学者,只是想知道为什么在循环“内部”和循环“外部”调用时结果不同。
for (var i = 0; i < 5; i++) {
console.log(i);
// prints 0 1 2 3 4
}
console.log(i);
// prints 0 1 2 3 4 5
在循环内部,它记录了从 0
到 4
的数字。最后的 i++
将 i
设置为 5
,循环停止,因为 i < 5
不再为真。然后循环后的 console.log(i)
记录这个值。
在循环执行期间,条件 i < 5 因 "5<5" 而失败,但此处 i 的值仍然变为 '5',在循环外执行
for (var i = 0; i < 5; i++) {
console.log("inside loop: " + i);
// prints 0 1 2 3 4
}
console.log("outside loop: " + i);
// prints just 5
这就是 JS 中 var 的工作方式,也是所有语言中 for 循环的工作方式。
当您使用 var 关键字声明一个变量时,它会被提升到函数作用域,或者如果不在函数内部则为全局变量。这使您可以在 for 循环范围之外访问 var。尝试将 var 更改为 let,看看会发生什么。
其次,由于您的条件 i < 5
,您没有在 for 循环中看到 5 打印出来。 i++
导致 'i' 从 4 变为 5,这打破了 for 循环条件并且不打印 'i'。
最后 console.log(i) 在 for 循环之外应该只打印 5 因为那是 i 在那个时候的值而不是
console.log(i);
// prints 0 1 2 3 4 5
// should print 5
因为for循环步骤是:
- 1 - 定义一个变量,
- 2 - 检查条件,
- 3 - 运行 循环内的代码,
- 4 - 并将循环变量值增加 1 ,
But! 在定义变量和第一次循环后,它会忽略第一个参数 var i = 0 并且它会将循环变量加 1,并检查条件,为什么?因为在for循环中,最后要做的就是将循环变量加1,
所以最后一个循环会将循环变量加1并检查条件,
简单地说:变量已经通过循环变为 5,因为在第一个循环之后它会将变量增加 1 并检查条件
希望我的回答对你有用!