Amigos, poderiam me explicar pq nessa function esta como xCarro e não como xCarros?
Você está vendo a versão anterior da nova experiência da Alura que estamos preparando para você. Em breve, ela ganha uma identidade visual novinha totalmente pensada em potencializar seus estudos!
Amigos, poderiam me explicar pq nessa function esta como xCarro e não como xCarros?
Olá, Raimundo!
Respondendo sua pergunta, não pode ser xCarros porque xCarros já está definido lá em cima no "let xCarros = [600, 600, 600];".
Quando criamos uma função que recebe um parâmetro, não importa qual nome nós atribuímos a ela. Note que o xCarro da função passouTodaATela pode ser trocado por qualquer outro nome, você pode colocar até
function passouTodaATela(oioioi){
return oioioi < - 50;
}
que o resultado vai ser o mesmo, porque ao chamar essa função passouTodaATela dentro da função
function voltaPosicaoInicialDoCarro(){
for(let i = 0; i < imagemCarros.length; i = i + 1){
** if(passouTodaATela(xCarros[i]))**{
xCarros[i] = 600;
}
}
}
ele passa o parâmetro xCarros[i], que será substituído na função passouTodaATela, assim conseguindo rodar o loop.
Espero que tenha entendido!
Olá ! Eu tinha entendido a explicação, porém quando testei colocar xCarros no lugar de xCarro na função passouTodaATela funcionou da mesma forma.
Débora, boa noite!
Nesse caso o xCarro é o parâmetro da função "passouTodaATela". Ele só existe como variável dentro dessa função.
Olha esse exemplo (rode no editor do p5js pra ficar mais fácil de entender kkk):
function setup() {
createCanvas(400, 400);
}
function draw() {
background(220);
printando();
}
//aqui declaramos uma variável usando o let, repare que o valor dela é 1
let variavelDeVerdade = 1
//aqui dentro do parênteses, ela não é mais a mesma variável la de cima, é um parâmetro que só existe dentro dessa função, note que nem ficou em azul.
function funcaoDeExemplo(variavelDeVerdade){
return variavelDeVerdade > 5
}
//veja o que está aparecendo em seu console. Apesar do JS entender que o valor da VARIÁVEL (declarada com let é 1), ele usa na função o valor 6 e retorna verdadeiro para o teste de 6 > 5.
function printando(){
print(funcaoDeExemplo(6))
print(variavelDeVerdade)
}Mas o ideal é que não se use parâmetros/variáveis com o mesmo nome, pois dependendo do projeto pode gerar conflito.
Me desculpe se não consegui ser muito claro kkk