Fala Carlos, tudo bem?
A ideia nesse código é que estamos declarando uma função (um grupo de instruções elaborado por nós para exibir um alerta). Toda vez então que chamarmos essa função para que seja exibido um alert - o que o JavaScript através do código alert("alguma mensagem")
- precisaremos escrever exibealerta();
.
Mas percebe que o código exibealerta();
é muito vago? Qual a mensagem vai ser exibida nesse alerta, se não passamos mais nenhuma informação além de pedir pra que um alerta seja exibido?
A ideia da mensagem
entre os parênteses vem justamente a partir desse pensamento. Para que seja possível passar alguma informação para ser exibida como alerta precisaríamos escrever o seguinte código: exibealerta("Uma mensagem nossa qualquer");
. Percebe a diferença ? Agora pedimos para que a mensagem escrita dentro dos parênteses seja exibida no alerta.
Para que o JavaScript saiba o que fazer com esse texto que passamos quando chamamos a função é que precisamos dessa "mensagem". O nome mensagem
, dentro dos parênteses da função, representa a criação de uma variável (que se usa para armazenar dados), que vai receber justamente o conteúdo passado na função (no nosso exemplo acima o texto "Uma mensagem nossa qualquer"
). Dessa forma a linguagem sabe o que deve ser feito com o referido texto na linha dentro da função: alert("***" + mensagem + "***")
.
Se chamarmos em outro ponto do programa exibealerta("Outra mensagem qualquer")
, o javascript sabe que para a função exibealerta
esse novo texto representa a mensagem que deve ser exibida, guardada por um momento dentro da variável mensagem
- declarada dentro dos parênteses da função - e que logo a frente deve utilizá-lo na chamada ao alert("***" + mensagem + "***")
para que o JavaScript apresente um popup com a mensagem.
As funções em programação, seguem a mesma ideia das funções na matemática. Veja um exemplo... Imagine a seguinte função:
f(x) = x + 1
Qual o resultado da função? É impossível determinar nesse momento. Só é possível determinar quando a função for aplicada com algum valor. Por exemplo f(x) = x + 1
onde x = 1
.
f(1) = 1 + 1
que resulta em 2
ou onde x = 3
f(3) = 3 + 1
que resulta em 4
Essa é a mesma ideia da nossa função exibealerta
. Se ela fosse representada com uma 'cara' de função matemática, vamos imaginar assim...
f(x) = exibe o texto de x
Se imaginarmos a função onde x = "Uma mensagem"
, o resultado será a exibição do texto em x que é Uma mensagem
. Se imaginarmos a função onde x = "Outra mensagem"
, o resultado será a exibição do texto em x, que nesse outro caso é Outra mensagem
.
A diferença fica em como escrevemos a função com a linguagem que estamos utilizando. As linguagens de programação em geral permitem que sejam associados bons nomes (que ajudam na compreensão da lógica) tanto às funções - que matematicamente seria o f
- como às variáveis que matematicamente seriam em geral x
, y
, z
, etc.
Desconstruindo a ideia matemática de nomenclatura das funções poderíamos supor:
exibeAlerta(mensagem) = exibe o texto de mensagem
Percebe como chegamos mais perto da ideia do programa escrito?
Pelas regras de escrita (sintaxe) do Javascript chegamos em:
function exibeAlerta(mensagem) {
alert('***' + mensagem + '***');
}
Espero ter ajudado no pensamento. Abraço!