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

Dúvidas em passagem de parametro

Estou com muita dúvida em relação a passagem de parametro, por exemplo:

var mostra = function (teste){ document.write(teste); }

Por que na hora de buscar o valor ele busca o valor que está entre ( ) e não o nome da função? No exemplo ele usa a palavra "teste", mas nenhum valor é dado a essa variável.

mostra("meu imc é: " + imc);

6 respostas

Oi Simone, passagem de parâmetro é algo um pouco complicado nesse inicio do aprendizado mesmo. A sua função mostra espera uma variável de entrada para funcionar, nesse caso é justamente o parâmetro chamado de teste. Uma vez que isso está definido, você pode invocar essa função fornecendo justamente essa entrada:

mostra("qualquer informação aqui");

Pense em parâmetros como informações que sua função precisa para funcionar e que ela não consegue descobrir sozinha. Alguém precisa passar..

Uma caixa de um banco não consegue realizar um depósito para você a não ser que você diga o valor.

solução!

Olá Simone, tudo bem? O que acontece é o seguinte, no momento em que ele escreve

var mostra = function (teste){ document.write(teste); }

Significa que ele está definindo uma função que recebe um parâmetro qualquer, ou seja, a variável teste, nesse caso, serve apenas para você definir que a sua função recebe um valor. Como você pode ver, dentro da função ela ainda trabalha com a variável teste, portanto, qualquer valor que você receber por parâmetro, será considerado como essa variável teste.

Por exemplo, se você enviar mostra(1), a variável teste equivale a 1. Em outras palavras, quando estamos definindo uma função podemos utilizar essas variáveis apenas para indicar que as nossas funções recebem parâmetros, e então, programamos o que queremos fazer com esses parâmetros.

Acho que entendi... A passagem de parametro então é como uma variável secundária que recebe o valor final de tudo que foi processado na função?

Oi Simone, o parâmetro é considerado uma variável sim. Só que quem define é o ponto do programa que invoca a função. Olha aqui:

mostra("meu peso é x");

Aqui você está dizendo que o parâmetro teste, na função mostra vai valer "meu peso é x". Depois posta alguns exemplos baseados nisso que eu falei :).

É basicamente uma variável comum mesmo. A única diferença dela com as demais, é que ela só é definida para indicar que a função terá um parâmetro mesmo, e que, quando você chamar a função mostra(1) a variável teste terá o valor 1 e ele será usado dentro dessa função.

Entendi! Estava complexando tudo. Obrigada, meninos. Irei exercitar o conteúdo para poder fixar.