for (var n = 1; n <= 100; n++) {
var output = "";
if (n % 3 == 0)
output += "Fizz";
if (n % 5 == 0)
output += "Buzz";
console.log(output || n);
}
有人可以解释当数字被3和5整除时,前面的+ =运算符“ Fizz”和“ Buzz”如何在FizzBuzz的组合中发挥作用?
我的初始代码如下,产生了相同的结果:
for (var number = 1; number <= 100; number++)
if (number % 3 == 0 && number % 5 == 0) {
number == console.log("FizzBuzz");
}
else if (number % 3 == 0) {
number == console.log("Fizz");
}
else if (number % 5 == 0) {
number == console.log("Buzz");
}
else {
console.log(number);
}
最佳答案
output += "Fizz";
只是的简写形式
output = output + "Fizz";
它将
output
中的值与Fizz
串联在一起,创建一个新字符串并将其存储回output
中。重要的是,它创建了一个新的String对象,因为String对象是不可变的。
按照逻辑,如果数字可被
3
整除,则output
将变为Fizz
,因为它已经为空。如果该数字也可被5
整除,则output
将变为FizzBuzz
(Fizz + Buzz
)。