【问题标题】:What's wrong with my FizzBuzz code for the codeacademy lesson?我的 codeacademy 课程的 FizzBu​​zz 代码有什么问题?
【发布时间】:2015-11-13 03:01:51
【问题描述】:

我已经寻找了很多答案,即使我粘贴了其他人的代码,它似乎也不起作用。所以我想知道我的代码是否正确以及我的问题是否出在浏览器(或其他任何东西)上,或者你是否可以帮助我找到我的错误!

for (var i = 0, i <= 20, i++){
    if (i % 15 === 0){
        console.log("FizzBuzz");
    } else if (i%3 === 0){
        console.log("Fizz");
    } else if (i%5===0){
        console.log("Buzz");
    } else {
        console.log(i);
    }
}

Screenshot

谢谢!

【问题讨论】:

  • 您的语法错误是因为您使用逗号而不是分号来分隔 for 循环中的内容。
  • 你应该在for( , , )for( ; ; )
  • "...如果我的问题出在浏览器上" - 是的,因为它从不你的代码。让更有意义的是,问题在于数百万人在多年内测试过的东西:-) 抱歉,没有尝试过,这只是看似自动假设问题在别处对我来说很奇怪。
  • 您错过了 IMO 的一大收获。 15 可以被 3 和 5 整除,所以你可以有... if(i % 3) { console.log("Fizz"); } if(i % 5) { console.log("Buzz") } - 如果是 15,它将输出 FizzBu​​zz - 这是一个逻辑/思维过程......想想吧!

标签: javascript fizzbuzz


【解决方案1】:

Javascript 中的语句 - 即 var i = 0; - 用分号分隔,因此运行代码块的条件语句应如下所示...

for (var i = 0; i <= 20; i++)

^ 这个。

for (var i = 0, i <= 20, i++)

^ 而不是这个。

编辑:

如果您在单个语句中声明多个变量,您可能会在同一行遇到 'var' 和 ',',看起来像...

var a = "a",
    b = "b",
    c = "c";

请注意该语句仍然(并且总是)以分号结尾;

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2016-01-15
    • 1970-01-01
    • 2023-02-06
    • 1970-01-01
    • 1970-01-01
    • 2018-07-18
    • 1970-01-01
    相关资源
    最近更新 更多