gpt4 book ai didi

javascript - 来自 Elegant javascript 第 2 章练习 3 的循环问题

转载 作者:行者123 更新时间:2023-11-30 12:19:48 25 4
gpt4 key购买 nike

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


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 循环的工作原理。在 https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Statements/for 阅读它.

第二个子句是一个条件,每次循环都会检查它,包括在最开始的时候。如果为false,则退出循环。当它为 true 时循环继续。在您的情况下,您想一直循环直到 xy 达到棋盘的大小(实际上,棋盘的大小减去 1,因为我们从0).因此,以下正确的:

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

如果你做了你所做的,然后说

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

那么循环将根本不会执行。它将以 x 为零开始,然后检查它是否等于 size 而不是 (0 !== 8) , 因此甚至不执行一次就退出循环。

关于javascript - 来自 Elegant javascript 第 2 章练习 3 的循环问题,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31466345/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com