gpt4 book ai didi

javascript - 在 while 循环中使用 if 语句

转载 作者:行者123 更新时间:2023-12-03 09:36:21 25 4
gpt4 key购买 nike

我刚刚弄清楚如何测试特定条件并在循环内修改输出。但我注意到使用 && 运算符测试两个条件仅适用于 if/else if/else if/else 链,前提是它是第一个测试的条件。

谁能解释一下为什么会这样:

var number = 0;
var counter = 0;

while (counter < 100) {
number ++;
counter ++;
if (number % 3 == 0 && number % 5 == 0)
console.log ("FizzBuzz");
else if (number % 3 == 0)
console.log("Fizz");
else if (number % 5 == 0)
console.log("Buzz");
else
console.log(number);
}

但这不是吗?

var number = 0;
var counter = 0;

while (counter < 100) {
number ++;
counter ++;
if (number % 3 == 0)
console.log("Fizz");
else if (number % 5 == 0)
console.log("Buzz");
else if (number % 3 == 0 && number % 5 == 0)
console.log ("FizzBuzz");
else
console.log(number);
}

最佳答案

顾名思义,else if 只会在前一个 if 失败时执行。所以语句 else if (number % 3 == 0 && number % 5 == 0) 只会在 if (number % 3 == 0) 时执行>else if (number % 5 == 0) 失败。如果一个数是 3 和 5 的倍数,那么第一个 if 成功执行,其余的 ifselse-ifs忽略。

但是,在代码 1 中,ifselse-ifs 的顺序是这样的,如果一个数字可以同时被 3 和 5 整除,那么首先 if被执行,如果它只能被3整除,那么首先if不被执行,只有else if (number % 3 == 0)被执行。

关于javascript - 在 while 循环中使用 if 语句,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29914167/

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