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);
}
有人可以解释+ =运算符是如何在&#34; Fizz&#34;和&#34; Buzz&#34;当数字可以被3和5整除时,它在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);
}
答案 0 :(得分:2)
output += "Fizz";
只是
的简写版本output = output + "Fizz";
它会将output
中的值与Fizz
连接起来,创建一个新字符串并将其存储回output
。
重要的是,它创建了一个新的String对象,因为String对象是不可变的。
根据逻辑,如果数字可以被3
整除,那么output
将变为Fizz
,因为它已经为空。如果该号码也可以被5
整除,则output
将变为FizzBuzz
(Fizz + Buzz
)。
答案 1 :(得分:0)
output += "Fizz";
是
的简写output = output + "Fizz";
保留变量output
可以实现&#34; Fizz&#34;和&#34; Buzz&#34;适用于循环迭代中的数字,需要进行组合。
每个循环都会重置output
。