Amigos, poderiam me explicar pq nessa function esta como xCarro e não como xCarros?
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