3
respostas

Como o código funciona sem referência?

Observe que em:

function voltaPosicaoInicialDoCarro(){
  for(let i = 0; i < imagemCarros.length; i = i + 1){ 

if (passouTodaATela(xCarros[i])){ 
      xCarros[i] = 600


function passouTodaATela(xCarro){

return xCarro < - 50**

na função passouTodaAtela(xCarro) por que colocou o xCarro entre os parênteses sendo que eu não havia atribuido nenhum valor a xCarro? Só existe xCarros no código.

Gostaria de entender como esse código funciona sendo que não determinei nenhum valor a xCarro anteriormente no código, para ser considerado como o " x " do código passouTodaAtela(xCarro)

Podem me ajudar?

Insira aqui a descrição dessa imagem para ajudar na acessibilidade

3 respostas

A variável xCarros[ ] refere-se a todos os carros no eixo x, é uma lista de carros . quando se refere a xCarro, estamos a referir-nos a esta lista de carros:

let xCarros = [650, 850, 650, 820, 650, 650, 800, 650, 850,600,900];

cada valor deste acima é um xCarro, ou um Carro na posição x.

Espero ter ajudado. Bons estudos

Ao declarar a função passouPelaTela(xCarro) você está nomeando a variável que deve ser fornecida para a função. Neste caso você definiu que a variável a ser analisada será chamada de xCarro na função passouPelaTela.

function passouPelaTela(xCarros) { return xCarro < - 50; }

Na função voltaPosicaoInicialDoCarro(), quando você chama pela função passouPelaTela, aí sim você define a variável que quer que seja analisada a condição. Por isso, entao temos: if (passouPelaTela(xCarros[i]))

Em suma, na função passouPelaTela você está apenas nomeando um valor. Se quiser chamar de qualquer outro nome você obterá êxito. Por exemplo:

function passouPelaTela(posicaoXdoCarro) { return PosicaoXdoCarro < - 50; }

Enquanto que na função voltaPosicaoInicialDoCarro, ai sim, você deve chamar pela variável que criou em seu código, no caso a variável xCarros.

Espero ter ajudado! :)

Tambem estava com essa duvida. Mas, mexendo e testando, cheguei a conclusão que é como uma nomeação mesmo, assim como disse o Natan acima. Tanto que coloquei um nome aleatorio e funcionou.

Insira aqui a descrição dessa imagem para ajudar na acessibilidade