Solucionado (ver solução)
Solucionado
(ver solução)
1
resposta

Gostaria de uma explicação melhor

Vamos dizer que eu consegui decorar porem não entendi muito esse exercicio teria como clarear um pouco mais por favor?

Mais especificamente esta parte

Atenção, o que aconteceria se tivéssemos chamado a função exibeAlerta desta forma:

exibeAlerta(); Veja que não há um número muito menos uma string entre os parênteses. Isso indica que nossa função não receberá valor algum e a mensagem que é seu parâmetro na sua declaração será undefined.

Novamente, para deixar ainda mais claro, o nome do parâmetro pode ser qualquer um, escolhi mensagem para deixar claro o que a função recebe, muito mais legível do que se tivéssemos feito:

function exibeAlerta(a) { alert("" + a + ""); }

1 resposta
solução!

Boa noite, Tainã! Tudo bem? =)

O exercício está pedindo para encontrarmos uma função que concatenará a mensagem que queremos mostrar com 3 asteriscos no começo e no final do alerta que será exibido. Além disso as três funções possíveis são as seguintes:

function exibeAlerta(mensagem) {
    alert("***" + msg + "***");
}
function exibeAlerta(mensagem) {
    alert("***" + mensagem + "***");
}
function exibeAlerta() {
    alert("***" + mensagem + "***");
}

Agora vamos ao que cada uma faz...

Na primeira, estamos dizendo que nossa função receberá um parâmetro que chamamos de mensagem. Mas observe o comportamento que definimos dentro dela: alert("***" + msg + "***");. Onde está a variável msg? Ela não existe, pois dissemos que nosso parâmetro chamará messagem.

Se tentarmos rodar esse código devemos receber um erro, algo como:

Uncaught ReferenceError: msg is not defined(...)

Ou seja, não definimos a variável msg, pois esperamos mensagem... Sacou? =)

A segunda é a correta, portanto deixarei por último.

Agora nos resta entender por que a terceira também está errada...

Estamos dizendo que nossa função não recebe parâmetros e no alerta mostraremos o conteúdo da variável mensagem. Ao tentarmos executá-la, receberemos um erro semelhante ao da primeira função, pois mensagem não está definida em lugar algum!

E por que a segunda está correta?

O que queremos exibir é o conteúdo da variável mensagem, que é justamente o nome do parâmetro que definimos na função!

Para dar um segundo exemplo que talvez possa lhe ajudar... Como seria uma função para somar dois números?

Começaremos dando um nome para ela, no meu caso chamarei de soma, pois sou muito criativo. Rs...

function soma() {

}

Se eu quero somar dois números, quais devem ser o parâmetros dessa função? Podem ser os dois números que queremos somar, concorda? Vou chamá-los de a e b:

function soma(a, b) {

}

E agora, o que fazemos aí dentro? Podemos mostrar o alerta com a soma! Assim:

function soma(a, b) {
    alert(a + b);
}

Pronto, fizemos nossa função. Agora, veja que eu decidi chamar os parâmetros de a e b, mas nada impede de declaramos como numero1 e numero2, só temos que tomar cuidado para chamá-los corretamente em todos lugares:

function soma(numero1, numero2) {
    alert(numero1 + numero2);
}

O nome dos parâmetros você quem escolhe, só temos que tomar cuidado para fazer algum sentido, para que na hora que formos realizar manutenção do nosso código, entendermos o que ele faz... Sacou? =)

Espero ter ajudado, mas qualquer dúvida, posta aqui que tentamos ajudar mais! =)

Abraços e bons estudos,

Fábio