关于while循环里嵌套for循环出现break的问题
当for循环被嵌套在while循环里且 for循环里出现了break(且若该语句被执行到时),是否两个循环一同跳出,还是只跳出for循环,为什么?
var i = 0, finished = false;
while (i < seats.length && !finished) {
for (var j = 0; j < seats[i].length; j++) {
if (seats[i][j] && seats[i][j + 1] && seats[i][j + 2]) {
selSeat = i * seats[i].length + j;
document.getElementById("seat" + (i * seats[i].length + j)).src = "seat_select.png";
document.getElementById("seat" + (i * seats[i].length + j)).alt = "Your seat";
document.getElementById("seat" + (i * seats[i].length + j + 1)).src = "seat_select.png";
document.getElementById("seat" + (i * seats[i].length + j + 1)).alt = "Your seat";
document.getElementById("seat" + (i * seats[i].length + j + 2)).src = "seat_select.png";
document.getElementById("seat" + (i * seats[i].length + j + 2)).alt = "Your seat";
var accept = confirm("Seats " + (j + 1) + " through " + (j + 3) +
" in Row " + (i + 1) + " are available. Accept?");
if (accept) {
// The user accepted the seats, so we're done (break out of the inner loop)
finished = true;
break;
}
else {
// The user rejected the seats, so clear the seat selection and keep looking
selSeat = -1;
document.getElementById("seat" + (i * seats[i].length + j)).src = "seat_avail.png";
document.getElementById("seat" + (i * seats[i].length + j)).alt = "Available seat";
document.getElementById("seat" + (i * seats[i].length + j + 1)).src = "seat_avail.png";
document.getElementById("seat" + (i * seats[i].length + j + 1)).alt = "Available seat";
document.getElementById("seat" + (i * seats[i].length + j + 2)).src = "seat_avail.png";
document.getElementById("seat" + (i * seats[i].length + j + 2)).alt = "Available seat";
}
}//整个if语句的结束位置
}//for循环的结束位置
// Increment the outer loop counter
i++;
}//整个while循环的结束位置
——————代码源自head first javascript书籍