3
respostas

Gente, preciso de uma ajudinha meio URGENTE XD

Eu preciso entender em método o mais detalhado possível, o uso dos PARÂMETROS dentro de uma função, pois não estou entendo, ja procurei em vários locais e não fica claro. E preciso entender isso logo para dar andamento aos cursos. Obrigado!

var campos = [
document.querySelector ('#data'),
document.querySelector ('#quantidade'),
document.querySelector ('#valor')

]

var tbody = document.querySelector('table tbody');

document.querySelector('.form').addEventListener('submit', function(event) {

event.preventDefault();

var tr = document.createElement('tr');

campos.forEach(function( campo*) {    //PARAMETRO CAMPO ??

    var td = document.createElement ('td');
    td.textContent = campo.value;
    tr.appendChild(td);
});

var tdVolume = document.createElement('td');
tdVolume = textContent = campos[1].value * campos[2].value;

tr.appendChild(tdVolume);

tbody.appendChild(tr);

campos[0].value = '';
campos[1].value = 1;
campos[2].value = 0;

campos[0].focus();

});
3 respostas

Fala aí Felipe, beleza? Bom, vamos lá:

Antes de explicar sobre os parâmetros, vamos entender algumas coisas:

Como é a criação de uma função

function NOME_DA_FUNCAO(PARAMETOS) {
    CORPO
}

Essa é uma das formas de criar funções em JS, foque apenas nessa no momento, aos poucos você verá que existem mais jeitos.

A palavra function é reservada do JavaScript, dessa maneira ele sabe que aquele pedaço de código refere-se á uma função.

Para o nome da função, existem boas práticas e algumas que não podem ser feitas, comece com letras ou _ e para separar palavras utilize o padrão Camel Case, por exemplo: minhaFuncao, a cada separação a primeira letra é maiúscula.

Os parâmetros são opcionais, uma função por ter 0 até N parâmetros, o ideal é quanto menos melhor, assim fica mais legível de entender, cada parâmetro deve receber um nome e devem ser separados por vírgula.

Como executar uma função

Para executar uma função, podemos fazer isso através:

NOME_DA_FUNCAO(PARAMETROS)

Passe o nome da função e informe os parênteses (), nesse momento os parâmetros também são opcionais, podemos passar ou não (caso não passe o valor deles será undefined).

Vamos a exemplos reais agora:

function ola(nome) {
    console.log("Olá" + nome);
}

ola("Matheus");
ola("Felipe");

Aqui criamos uma função que tem um parâmetro chamado nome e chamamos ela duas vezes:

  1. Passando uma String com valor de Matheus, assim o parâmetro irá receber esse valor, ou seja, nosso nome será "Matheus".
  2. O mesmo vale para o primeiro, mudando apenas o valor do parâmetro para Felipe.

Os parâmetros devem ser chamados em ordem, ou seja:

function teste(p1, p2, p3) {}

A ordem que passarmos valores para a função, será a ordem que os parâmetros irão receber esse valor:

teste(1, 2, 3)

Nesse caso, temos:

  • p1 = 1
  • p2 = 2
  • p3 = 3

Se quisermos inverter, precisaríamos fazer:

teste(3, 2, 1)

Aí teríamos:

  • p1 = 3
  • p2 = 2
  • p3 = 1

Obs: Existe maneiras para definir valores padrão para parâmetros e outras coisas á mais, porém, nesse momento foque apenas nisso.

Espero ter ajudado.

Bom dia Matheus;

A sua explicação ficou muito legível, entendi a aplicação dos parâmetros e tudo mais. Agora, voltando ao código que recebi no curso, a function que recebe como parâmetro o valor "CAMPO"; tens como me ajudar a verificar a função deste parâmetro? pois ele só aparece ali, e recebe valor, mas como ele é utilizado? Ficou muito confuso.

Vamos lá, ali o que está acontecendo é o seguinte:

Repare que temos um array de campos, que seria nosso data, valor e quantidade, tratando isso como um array, podemos fazer a interação sobre cada item através da função forEach.

A função forEach recebe como parâmetro uma outra função e essa função por sua vez recebe como parâmetro cada item do array, ou seja:

const numeros = [1, 2, 3] // nosso array de números

// iterando sobre cada numero
// a nossa função ira percorrer todos os números
// passá-los como parâmetro para a função
// e logar no console
numeros.forEach(function(numero) { // a primeira vez o valor de numero será 1, depois 2 e por fim 3.
    console.log(numero); // sera logado cada numero do nosso array
});

O responsável por fornecer o numero para a função é nosso forEach ele simplesmente pega o valor atual do array e disponibiliza para a função de parâmetro.

Basicamente seria isso, claro que envolve coisas mais técnicas e tals, mas no momento, tente apenas entender o funcionamento.

Espero ter ajudado.