1
resposta

Sinto uma formidavel curiosidade sobre o funcionamento do trecho de "função": passouTodaATela

function passouTodaATela(xCarro){ return xCarro < - 50; }

daonde vem o xCarro, quero saber tudo que essa linha de comando faz, a logica por traz dela

1 resposta

Olá, Jelmárcio!!! Como vai você, tudo bem?

De fato, sua curiosidade sobre as instruções passadas para a função passouTotaATela() é formidável! É justamente essa curiosidade que irá levá-lo ao aprofundamento de seus conhecimentos! :D

Vamos olhar o código novamente?

function passouTodaATela(xCarro){
    return xCarro < -50;
}

A function passouTotaATela() funciona da seguinte forma..

Essa função possui uma única responsabilidade que é fazer a verificação se o Carro passou na tela ou não, e como ela faz isso? Nós passamos um valor no parâmetro xCarro (que nesse caso é a lista com os valores que indicam a posição dos carros, o nosso xCarros), e depois de receber a posição do carro, irá verificar se esse valor/posição é menor que -50 (dessa forma é que sabemos se saiu da tela ou não).

A passouTotaATela() trabalha em conjunto da voltaPosiçãoInicialCarro(). Vamos ver?

function voltaPosiçãoInicialCarro(){
    for ( i = 0; i < imagemCarros.length; i = i + 1){
        if (passouTodaATela(xCarros[i])){ //bem aqui o parâmetro xCarro é substituído pelo argumento, que é o valor, nesse caso é a lista
            xCarros[i] = 500;
        }
    }
}

O instrutor cria a função passouTotaATela() e a utiliza para fazer a verificação em outra função, a voltaPosiçãoInicialCarro(). Nesse sentido, o xCarro é apenas um parâmetro, uma referência ao valor que será passado para ser consumido na função.

Devemos lembrar também que a função possui uma sintaxe e uma estrutura própria, e os parâmetros fazem parte dessa estrutura também.

Sobre essas questões, respondi dois tópicos e separei mais um respondido por um dos instrutores Alura com os mesmos questionamentos apontados aqui e sugiro que você acesse o conteúdo. Vou deixar os links logo abaixo :)


Aqui abordo sobre o que são parâmetros: https://cursos.alura.com.br/forum/topico-xcarro-164778

Nesse tópico detalho bastante sobre a estrutura de função em JavaScript; https://cursos.alura.com.br/forum/topico-de-onde-vem-o-xcarro-158190

Aqui o instrutor aborda a relação entre as duas funções e como operam: https://cursos.alura.com.br/forum/topico-duvida-semelhante-a-de-outro-colega-referente-a-funcao-xcarro-vs-xcarros-94478

Parabéns pelo interesse e continue a apronfudar seus conhecimentos!

Espero que tenha ajudado, um grande abraço e bons estudos!