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

Como criar uma function com várias variáveis que retornam todas?

Criei um monte de variáveis para chamar as fórmulas que criei, só que eu tinha que chamar cada variável separadamente com document.write para poder puxar, estava dando muito trabalho.

Então, resolvi jogar as variáveis todas para dentro da function para eu poder jogar apenas um comando e ele puxar todas as variáveis de uma vez e eu não precisar chamar uma por uma.

Mas nada que eu faço da certo, o que eu tenho que fazer para apenas com um código chamar todas as variáveis dentro da function?

<meta charset="UTF-8">

<script>

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

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

    var beneficio = prompt("Informe o benefício do seu produto em poucas palavras: ");

    function geraTitulos() {

        var gera1 = "5 Dicas Para " + beneficio + " Rapidamente";
        pulaLinha;
        var gera2 = "Como " + beneficio + " Rapidamente";
        var gera3 = "Como " + beneficio + " De Um Jeito Diferente";
        pulaLinha;
        var gera4 = "Aprenda Uma Fórmula (Quase) Mágica Para " + beneficio + " Em tempo Recorde";
        pulaLinha;
        var gera5 = "3 Coisas Que Você DEVE Fazer Se Quiser " + beneficio + " De Verdade!";
        pulaLinha;
        var gera6 = "A Maior Mentira Sobre " + beneficio;
        pulaLinha;
        var gera7 = "O Que Nunca Te Contaram Sobre " + beneficio;
        pulaLinha;
        var gera8 = "REVELADO! O Maior Segredo Para " + beneficio;
        pulaLinha;


    }

    mostra(geraTitulos());





</script>
6 respostas

Fábio, boa tarde!

Você pode criar uma array com cada variável que você quer criar, retornar essa array e usar um laço de repetição para mostrar cada um dos itens da array

Espero ter ajudado e bons estudos!

Como eu faço isso? ainda não aprendi essa parte rsrsrs

Oi Fabio tudo bem?

Veja se é isso que precisa.

<meta charset="UTF-8">

<script>

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

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

    var beneficio = prompt("Informe o benefício do seu produto em poucas palavras: ");

    function geraTitulos() {
        document.write("5 Dicas Para " + beneficio + " Rapidamente");
        pulaLinha();
        document.write("Como " + beneficio + " Rapidamente");
        document.write("Como " + beneficio + " De Um Jeito Diferente");
        pulaLinha();
        document.write("Aprenda Uma Fórmula (Quase) Mágica Para " + beneficio + " Em tempo Recorde");
        pulaLinha();
        document.write("3 Coisas Que Você DEVE Fazer Se Quiser " + beneficio + " De Verdade!");
        pulaLinha();
        document.write("A Maior Mentira Sobre " + beneficio);
        pulaLinha();
        document.write( "O Que Nunca Te Contaram Sobre " + beneficio);
        pulaLinha();
        document.write("REVELADO! O Maior Segredo Para " + beneficio);
        pulaLinha();
        return("");

    }

    mostra(geraTitulos());





</script>

Dá para fazer assim da forma mais prática possível:

<meta charset="UTF-8">

<script>

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

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

    var beneficio = prompt("Informe o benefício do seu produto em poucas palavras: ");

    function geraTitulos() {
        document.write(`5 Dicas Para ${beneficio} Rapidamente
        <br>
        Como ${beneficio} Rapidamente
        <br>
        Como ${beneficio} De Um Jeito Diferente
        <br>
        Aprenda Uma Fórmula (Quase) Mágica Para ${beneficio} Em tempo Recorde"
        <br>
        3 Coisas Que Você DEVE Fazer Se Quiser ${beneficio}  De Verdade!
        <br>
        A Maior Mentira Sobre ${beneficio}
        <br>
        O Que Nunca Te Contaram Sobre ${beneficio}
        <br>
        REVELADO! O Maior Segredo Para ${beneficio}`);

    }

    geraTitulos();





</script>

Eu usei acento grave (aquele da crase) ou no inglês backtick ` para poder escrever de forma mais livre no document.write e escrever tudo de uma vez. Acho mais simples te ensinar isso agora do que o array. Mas se quiser te mostro como faria com o array.

André, fiz o que vc falou ai, deu certo, mas com uma ressalva.

Depois que ele imprime todas as frases ele imprime um undefined no final.

ai tirei o return, continuou funcionando e continuou mostrando o undefined, você sabe o que poderia ser?

No console do navegador não mostra erro nenhum.

solução!

Acho que no seu está mostra(geraTitulos()); no meu eu deixei só geraTitulos();

Quer mergulhar em tecnologia e aprendizagem?

Receba a newsletter que o nosso CEO escreve pessoalmente, com insights do mercado de trabalho, ciência e desenvolvimento de software