1
resposta

Erro no "i" na hora de fazer o "for"

Na hora de fazer o for, não entendi muito bem o raciocínio do professor, mas tudo bem, segue, contudo quando executou deu um erro que não consegui resolver de jeito nenhum pois percebi que o meu estava diferente do professor.

o segundo "i", o "i", do "i < imagemCarros.length", esta ficando azul diferente do do professor e com tracejado vermelho em baixo como se estivesse com erro, quando passo o mouse em cima, ele diz que ao "i" já foi atribuído um valor ("i" has already been declared), e com o sinal de "<" ele da o aviso de tem a espectativa de esperar o "I" ("expected "i" instead saw "<").

Não sei o que fazer, estou travada e frustrada.

SyntaxError: Identifier 'i' has already been declared at /carro.js:18:19 ReferenceError: mostraCarro is not defined

1 resposta

Olá, Isabela! Tudo bem?

O início sempre é meio complicado mesmo e o laço com o for é algo que às vezes leva um tempo para a gente assimilar completamente.

Você conseguiu conferir se o escopo foi fechado corretamente? Porque é comum que uma chave, ponto é vírgula ou parênteses fora do lugar gere um erro no código.

Verifique se a sua função mostraCarro() está parecida com a do instrutor:

function movimentaCarro(){
  for (let i = 0; i < imagemCarros.length; i = i + 1){
    xCarros[i] -= velocidadeCarros[i];
  }
}

Um forma de entender e tentar ler o que o bloco de código está dizendo, vamos exercitar?

Para (contador igual 0 ; se o contador for menor que todos os valores lidos de imagemCarros ; o contador será igual a soma de seu valor mais 1, ou seja, vai pegar ele mesmo e adicionar 1 após cada passagem pelo loop)

Enquanto a condição for verdadeira dentro do loop o for vai executar a instrução

Você poderia também deixar o link para o seu projeto aqui? Assim fica bem mais fácil para identificar o problema

Vou deixar alguns links que complementam bastante a compreensão sobre o for e outras estruturas em JavaScript:

Espero que as informações tenham ajudado!

Fico à disposição!