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

A função mostra não repete os anos no navegador

A o codigo não fuciona quando troco a função alert por mostra, quando recarego no navegador só mostra "teve copa em 1930". ja com atert funciona perfetamente.

6 respostas

Olá Thaís, tudo bom? Teria como você copiar seu código e colar aqui? Assim fica mais fácil para entender o que pode estar ocorrendo.

O alert é uma função pré-definida já embutida na linguagem JavaScript, não é necessário defini-lá. Talvez, você tenha esquecido de definir a função "mostra()" no começo do programa. Dê uma olhada no código abaixo, principalmente nos comentários, aqui apenas troquei o nome da função mostra(), por mostrarFrase(). Lembre-se de chamar a função pelo mesmo nome atribuído a ela.

<meta charset="UTF-8">

<script>
    function pulaLinha() {
    document.write("<br>");
    document.write("<br>");
}

/*Aqui foi pré-definida uma função, chamei de mostrarFrase(frase), 
perceba que ela precisa de um argumento para ser inserido entre os 
parênteses (frase). A palavra "frase", dentro dos parênteses é o parâmetro da função, 
ela indica qual argumento deverá ser inserido, e quando inserido, o parâmetro
guarda o argumento como se fosse uma variável.
*/
function mostrarFrase(frase) {
    document.write(frase);
    pulaLinha(); //Perceba que  a função chama outra função prè-definida mais acima no código.
}
/*
mostrarFrase("Estou trocando o parâmetro por um argumento!!");
As instruções que estiverem dentro do corpo da função serão executadas:
    document.write("Estou trocando o parâmetro por um argumento!!");
    pulaLinha();
*/

var limite = parseInt(prompt("Entre com a data limite"));
var anoCopa = 1930;
while(anoCopa <= limite) {
    mostrarFrase("Teve copa em " + anoCopa);
    anoCopa = anoCopa + 4;
}
mostrarFrase("Programa encerrado!"); //Chamando a função pré-definida
</script>

Bom talvez você já tenha entendido as funções. Então o erro pode ser um erro bem bobo como um mísero erro de digitação, já é o suficiente para o interpretador não executar o programa da forma que você quer, estes erros são chamados de erro de Sintaxe. E para a função ser repetida várias vezes, certifique que esteja dentro do laço de repetição While, veja onde abre e fecha chaves {}. Qualquer coisa abra o developer tools do seu navegador e acesse a área do console, lá geralmente é informado em que linha está o erro e o tipo de erro.

Conferi as funções e não percebi nenhum erro. Ta aqui o código;

<meta charset="UTF-8">
<script>
    function pulalinha() {
    document.write("<br>");
    document.write("<br");
}

function mostra(frase) {
    document.write(frase);
    pulalinha();
}



var anoCopa = 1930;

while(anoCopa <= 2016) {

    mostra("Teve copa em " + anoCopa);
    anoCopa = anoCopa + 4;
}

mostra("FIM");

</script>

Clique no ícone " < / > ", localizado na barra de ferramentas e cole o código entre as crases que aparecer: Barra_de_ferramentas

solução!

Olha só como um mísero erro dá uma enorme dor de cabeça, você esqueceu de completar a tag br, na segunda instrução.

function pulalinha() {
    document.write("<br>");
    document.write("<br");
}

Uma boa prática é escrever a primeira letra do segundo nome sempre em maiúscula, assim: pulaLinha(). Não afeta o programa, apenas é o recomendado, fica mais legível o código: "doqueescrevertudoassim" x "éMelhorEscreverAssim".

Nossa.. fiquei muito tempo quebrando a cabeça, por um erro bobo kkkkkkk muitíssimo obrigada Gabriel, e vou passa a escrever o segundo nome letra maiúscula .