Solucionado (ver solução)
Solucionado
(ver solução)
4
respostas

Porque não funciona os parametros na função - voltaPosicaoCarro() ?

Alterei um pouco o código na função voltaPosicaoCarro(), mas não da certo, gostaria de saber porque.

function voltaPosicaoCarro(x){
  if (x < -50){
    x = 600;
  }
}

Depois, na hora de chamar a função, eu passo os parametros, assim:

voltaPosicaoCarro(xCarro);
 voltaPosicaoCarro(xCarro2);
 voltaPosicaoCarro(xCarro3);
4 respostas

Olá Matheus, tudo bem?

Bem... não posso te dar certeza porque não vi o código completo, ok?

Mas quando você chama a função, deve passar a sua variável como parâmetro.

A minha dúvida é se o Carro é chamado de 'xCarro' ou se você está passando para o parâmetro x a variável carro.

Se for esta segunda opção, o código está errado, pois você não precisa informar o 'x'. Quando passamos um parâmetro, ele será atribuído na ordem em que foram declarado. Por exemplo:

function teste (x, y, z)

Quando eu realizar a chamada da função teste irei passar na respectiva ordem os valores de x, y e z.

Espero ter ajudado.

new Saudacao();

; )

Entendi. No caso, o xCarro é a posição X do carro mesmo, ou seja, 600. Eu achei que fazendo assim, ele ia substituir o X que passei como parâmetro pelo xCarro (600), e então ele faria a verificaçao.

solução!

Ahh, entendi.

Bem, então. Da forma em que está a sua função, ela está apenas redefinindo os valores de X, embora você Informe como parâmetro o 'xCarro', o que acontece na verdade é que a função está utilizando o valor de xCarro para fazer o cálculo, mas não faz a atribuição de volta na variável.

Para resolver isso, você pode adicionar um retorno em sua função, para que ela devolva a resposta do cálculo. Assim, basta você atribuir o resultado à sua variável.

Espero ter ajudado.

new Saudacao();

; )

Entendi. Obrigado.