Javascript : 省略 在嵌套 For 循环中初始化
Javascript : Omitted Initialize inside Nested For Loop
我们知道,我们可以省略 for 循环中的初始化:
var i = 0;
for(; i < 10; i++) {
// do Something with i
}
但是,我弄清楚是否也省略了嵌套循环中的初始化:
var i = 0;
var j = 0;
for(; i < 10; i++) {
for(; j < 10; j++) {
// only do Something with j
// outner loop only run once
}
}
溶液:
var i = 0;
var j;
for(; i < 10; i++) {
j = 0;
for(; j < 10; j++) {
// everything is fine!
}
}
谁能解释一下发生了什么?我是Javascript的新手。
循环
运行多次,但你的'j'在第一次运行i
后已经是十,所以第二个循环在下一个值i
期间不再运行。
如果你会写这样的东西。
for(; i < 10; i++) {
for(; j < 10; j++) {
console.log("test")
}
console.log("another test")
}
您会看到两条消息都被打印了 10 次。
你的"j"循环只运行"十次一次"的原因是,在J运行了10次后,你没有将J设置回零。因此,如果在第一次运行后i
,则语句 j < 10
对于每个循环都是正确的。
您可以通过在第一个 for 循环中设置j = 0
来解决此问题(如果您不想将其放在第二个循环的变量初始化中)。
for(; i < 10; i++) {
j = 0;
for(; j < 10; j++) {
console.log("test")
}
console.log("another test")
}
每次i
增量时,都需要将j
重置为 0
。
如果重写脚本,使每个变量在 for loop
语句本身中初始化,则每次i
增量时,j
都将重置为 0
。
for (var i = 0; i < 10; i++) {
for (var j = 0; j < 10; j++) {
}
}
相关文章:
- 使用javascript函数在页面初始化后加载jquery
- 未捕获错误:无法在初始化之前调用方法;
- 如何在剑道网格初始化后设置pageSizes
- React redux初始化功能,无论状态变化如何
- 为什么可以't Protractor在自动初始化的Angular网站上查找Angular
- 尝试初始化()Spine's控制器和故障
- Angular.js延迟控制器初始化
- For循环已初始化但未输入
- 通过初始化循环访问数组中元素的属性来创建计数对象
- for 循环中的初始化语句
- 组件初始化无限循环-Angular 2 JSPM
- 在循环中初始化onchange事件-Javascript
- SyntaxError: missing;在for循环初始化式之后
- 在第一个循环之前初始化计数器
- 在foreach循环后初始化插件
- 循环遍历集合中的jQuery对象,而不为每次迭代初始化一个新的jQuery对象
- 使用For循环初始化JQuery手风琴
- 在 for 循环中初始化的变量的作用域规则
- Javascript : 省略 在嵌套 For 循环中初始化
- 用于初始化Javascript数组的数组的嵌套For循环