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

Meu navegador diz que há um erro no retorno da minha função

Eu estou fazendo o curso de Lógica de Programação I e tentei consolidar o conhecimento fazendo um programa que as pessoas do meu trabalho pudessem utilizar. Em uma das perguntas, eu quis considerar mais de uma resposta e inseri algumas possíveis dentro de um Array. Depois, criei uma função que verifica as posições do Array e retorna falso ou true. No entanto, o navegador me diz que há um erro com esse retorno. Que erro é esse? Obs: As funções que fazem isso são mostraValor e mostraValor2.

<meta charset="UTF-8">
<script>
// recisão de contrato trabalho no exterior.

    function pulaLinha() {

        document.write("<br>");
    }

    function texto(frase) {

        document.write(frase);
        pulaLinha();
    }

     function alerta(frase) {

        document.write("*********" + frase + "********");
        pulaLinha();
    }

    var totalDeMeses = parseInt(prompt("Quantos meses você trabalhou?"));

    var baseDeCalculo = 290;
    var valorCesantia = totalDeMeses*baseDeCalculo 
    var mesesRestantes = parseFloat(prompt("Do dia 20 de dezembro (recebimento da Prima) até a sua saída, quantos meses terão se passado?"));
    var valorPrima = baseDeCalculo*mesesRestantes
    var primaComCesantia = valorPrima + valorCesantia

    texto ("O valor aproximado de recebimento de Prima e Cesantias é de " + primaComCesantia + ".");

    var valorFerias = 90;

    if (totalDeMeses <= 6) {

        diasDeFerias = 7;

    } 

    if (totalDeMeses > 6) { 
                diasDeFerias = 10;
            }

    var feriasUtilizadas = parseInt(prompt("Quantos dias de férias foram utilizados? Se você nunca tirou suas férias, informe 0."));
    var recebimentoFerias = (diasDeFerias - feriasUtilizadas)*valorFerias;
    texto ("O valor aproximado de recebimento de férias é de " + recebimentoFerias + ".");

    var passagemBrasil = prompt("Você pediu o valor da passagem em dinheiro? Por favor responda sim ou não em letras minúsculas.");
    var respostaPassagem1 = ["sim","SIM","SIm","si","sin","yes","claro","com certeza"]
    var respostaPassagem2 = ["não","no","nao","Não","NÃO","Nao","NÃo","NAo","de jeito nenhum"]
    var mostrador = false

    function mostraValor (mostrador) {
    for(indice1 = 0; indice1 < respostaPassagem1.length; indice1++) {
        if(respostaPassagem1[indice1]==passagemBrasil) {
            return = true;
        } 
    }
}

    function mostraValor2 (mostrador) {
    for(indice2 = 0; indice2 < respostaPassagem2.length; indice2++)  {
        if(respostaPassagem2[indice2]==passagemBrasil) {
            return = false;

        } 

    }
}

mostraValor ();
mostraValor2 ();

   if (mostraValor) {
        valorPassagem = 1500;  
        texto ("Você receberá " + valorPassagem + " de valor adicional da passagem."); } 

    if (mostraValor2) {
            valorPassagem = 0
        }
5 respostas

Boa tarde, Felipe! Como vai?

Copie o erro que o navegador te dá e cole aqui para que eu possa te ajudar!

Opa, obrigado Gabriel

Uncaught SyntaxError: Unexpected token = recisao_brasileiros.html:55

E na linha 55 o que há é o retorno true para a função mostraValor

return = true;

solução!

Felipe, esse erro está acontecendo pq, como o próprio log diz, o = está perdido num lugar que ele não deveria estar!

O correto seria return true;.

Faça isso aí e veja se resolve o seu problema!

Nossa, muito obrigado mesmo Gabriel. Eu estava enroscado nesse retorno.

Abração.

Por nada, Felipe!

Grande abraço e bons estudos!