3
respostas

[Dúvida] Dúvida na função passouTodaATela

Fiquei com dúvida quanto a um detalhe da última função criada pelo professor.

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

Dentro da função passouTodaATela ele usa "xCarro", sem o s, mas no If ele usou xCarros. Eu testei os dois na função passouTodaATela, tanto xCarros como xCarro e nenhum deu erro, eu só queria entender o comportamento dessa função, eu entendi mas senti que a lógica em si ainda ficou vaga pra mim.

3 respostas

olá Daniel, basicamente o que acontece é que na função "passouTodaATela" o instrutor esta utilizando um parâmetro que nesse caso ele nomeou de " xCarro ", ele poderia ter passado qualquer nome para esse parâmetro, por que o valor que a função esta utilizando é o da variável " xCarros " que é passado para ela quando a chamamos dentro da função "voltaPosicaoInicialDoCarro".

Agora clareou mais um pouco, muito obrigado!

Oi, Daniel

Não importa o nome que você vai dar ao parâmetro da função

// isso também funciona

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

console.log( passouTodaATela(100) )
// retorna false

console.log( passouTodaATela(-100) )
// retorna true