【发布时间】:2017-11-29 15:02:36
【问题描述】:
我完全是绿色的。刚开始阅读Eloquent JavaScript,第 2 章开始做一些练习。
显然“FizzBuzz”问题无需介绍。我花了一个小时的大部分时间诚实地尝试不同的方法。
终于找到了一个不那么雄辩的解决方案。但是当我看着它时,我不明白它是如何工作的:
var x = 1
while (x <= 20){
if (x % 5 == 0 && x % 5 == 0){
console.log("FizzBuzz");
}
else if (x % 5 == 0){
console.log("Buzz");
}
else if (x % 3 == 0){
console.log("Fizz");
}
else
console.log(x);
x++;
}
所以,以我目前的理解:我希望这个脚本在第一个“Fizz”中最多计数 3,然后陷入无限循环。
显然我理解错了。脚本是如何从这里移到“4”的?
感谢阅读。
【问题讨论】:
-
x++在if-else语句之外。它总是被执行。缩进在 JavaScript 中无关紧要。 -
另外那个代码是错误的;第一个
if条件测试同一件事两次。 -
该解决方案不起作用。第 3 行的
5s 之一应该是3。
标签: javascript fizzbuzz