2016-12-30 1 views
-4

Добрый день, Код должен представляет игру 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. 

я застрял.

+5

Используйте ';' вместо ',' в вашем 'for (var i = 0, i <100, i ++)' - Это должно быть 'for (var i = 0; i <100; i ++)' – Santi

+0

Oh Боже, я сейчас чувствую себя идиотом. Спасибо. – Sabino

ответ

2

Есть два возможных ошибок

1) Внутри для контура условного оператора должно быть ; но ,

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) 
    } 
} 

DEMO

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)} 
} 

Вы также массивную перегрузку круглых скобок! Вам не нужно столько парнеров, они также вызывают ошибки.