优雅javascript第2章练习3中的循环问题

优雅javascript第2章练习3中的循环问题,javascript,Javascript,这个问题来自上面的来源,其中我被要求制作一个棋盘。提供的解决方案使用相同的方法,除了y

这个问题来自上面的来源,其中我被要求制作一个棋盘。提供的解决方案使用相同的方法,除了y<尺寸和x<尺寸。但是为什么这种方式不起作用呢



--由于
x
y
值发生变化,因此
for循环的条件应为
您需要了解
for
循环的工作原理。请在网站上阅读

第二个子句是一个条件,它在循环中每次都会被检查,包括在最开始的时候。如果为false,则退出循环。循环将继续,但它是真实的。在您的情况下,您希望保持循环,直到
x
y
达到电路板的大小(实际上,电路板的大小小于1,因为我们从0开始)。因此,以下是正确的:

for (var y = 0; y < size; y++) {
                ^^^^^^^^
然后循环将永远不会执行。它将以0的
x
开始,然后检查它是否等于
size
,而不是(
0!==8
),因此退出循环,甚至不执行一次

var size = 8;
var chess = "";

for (var y = 0; y < size; y++){

    for (var x = 0; x < size; x++){

        if ((x + y) % 2 == 0)
            chess += " ";
        else
            chess += "#";
    }

    chess += "\n";    
}

console.log(chess);
for (var y = 0; y < size; y++) {
                ^^^^^^^^
for (var y = 0; y == size; y++){
                ^^^^^^^^^