gpt4 book ai didi

javascript - JavaScript 中的 while 循环增量

转载 作者:行者123 更新时间:2023-11-28 14:11:26 25 4
gpt4 key购买 nike

function diamond(n) {
if (n % 2 == 0 || n < 1) return null
var x = 0,
add, diam = line(x, n);
while ((x += 2) < n) {
add = line(x / 2, n - x);
diam = add + diam + add;
}
return diam;
}
function repeat(str, x) {
return Array(x + 1).join(str);
}
function line(spaces, stars) {
return repeat(" ", spaces) + repeat("*", stars) + "\n";
}
console.log(diamond(5));

代码使用星号打印菱形形状。
我试图理解这段代码(其他人的代码)。
我认为结果会是这样的

  *
***
*****
*****
*****
***
*

但它运行得非常好,我意识到了这个部分 while ((x +=2) < n)确实有所作为。
所以我的问题是: while ((x += 2) < n) { ... } 之间有什么区别?和while (x < n) { ... x += 2 }

最佳答案

 ((x+=2) < n)

x+=2 是 x=x+2 的简写;

如果 x=0 最初检查的条件将为 2 < n

(x < n) {...x += 2}

如果 x=0 最初检查的条件将为 0 < n

主要区别在于您首先递增,然后检查第一个条件中的条件,而在第二个条件中,您检查然后递增 x。

关于javascript - JavaScript 中的 while 循环增量,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/59292400/

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