下午好, 下面的代码应该代表FizzBuzz游戏。
for (var i = 0, i < 100, i++) {
if(((i % 3) == 0) && ((i % 5) = 0)) {document.write('FizzBuzz')}
else if( ((i % 3) == 0) && ((i % 5) != 0)) {document.write('Fizz')}
else if( (( i % 3 ) != 0) && ((i % 5) == 0) ) {document.write('Buzz')}
else {document.write(i)}
}
这是我在Mozilla Firefox Debugger中遇到的错误
SyntaxError: missing ; after for-loop initialize 1.18.
我被卡住了。
答案 0 :(得分:2)
有两种可能的错误
1)在for循环条件语句中,它应该是;
但,
2)((i % 5) = 0)
的左侧作业无效,应为((i % 5) == 0)
要调试此类问题,请使用任何linter并正确缩进代码
for (var i = 0; i < 100; i++) {
if (((i % 3) == 0) && ((i % 5) == 0)) {
document.write('FizzBuzz')
} else if (((i % 3) == 0) && ((i % 5) != 0)) {
document.write('Fizz')
} else if (((i % 3) != 0) && ((i % 5) == 0)) {
document.write('Buzz')
} else {
document.write(i)
}
}
答案 1 :(得分:1)
你应该在循环中使用半冒号而不是逗号:
for (var i = 0; i < 100; i++)
{
if ( i % 3 == 0 && i % 5 == 0 ) {document.write('FizzBuzz')}
else if ( i % 3 == 0 && i % 5 != 0 ) {document.write('Fizz')}
else if ( i % 3 != 0 && i % 5 == 0 ) {document.write('Buzz')}
else {document.write(i)}
}
你也有一个庞大的括号超载!你不需要那么多的parens,它们也会给你带来错误。