以下代码进入无限循环并且网页崩溃我需要知道它有什么问题?
for (var i = 0; i < 2; i+1) {
for (var j = i; j < 8; j + 2) {
console.log(arr[j].Qu);
}
console.log(arr[i]);
}
答案 0 :(得分:4)
i + 1没有更新我的值,因此,i总是有值1,因为它在每次运行中需要0 + 1,因此永远不会是&gt; 2,永无止境 您需要使用i ++进行更改,例如
for (var i = 0; i < 2; i++) {
另外,正如@Xufox指出的那样,用
来修改你的J循环for (var j = i; j < 8; j += 2) {
i + 1不是分配操作,这就是你需要分配值的原因。 i++
和j+=2
转换为
i = i+1;
j= j+2;
并且右手操作的结果自我赋值给变量
答案 1 :(得分:1)
未将值分配回变量。
for (var i = 0; i < 2; i+=1) { // i++
for (var j = i; j < 8; j+=2) {
console.log(arr[j].Qu);
}
console.log(arr[i]);
}
答案 2 :(得分:1)
i+1
不会修改i值。
您可以改为编写i++
。
同样,j + 2
不会更新j。
你应该写j += 2
。
以下是更正后的代码:
for (var i = 0; i < 2; i++) {
for (var j = i; j < 8; j += 2) {
console.log(arr[j].Qu);
}
console.log(arr[i]);
}
答案 3 :(得分:1)
for (var i = 0; i < 2; i+=1) {
for (var j = i; j < 8; j+= 2) {
console.log(arr[j]);
}
console.log(arr[i]);
}