1
resposta

Fiz de uma outra forma, mas não retorna corretamente os cálculos realizados pelas functions.

<meta charset="UTF-8">

<script>

function linha () {
    document.write("<br>");
}
function mostra (texto) {
    document.write(texto);
    linha();
}
function a (numero1, numero2) {
    return numero1 + numero2;
}
function b (numero3, numero4) {
    return numero3 / numero4;
}
var numero1 = prompt("Digite o primeiro número");
var numero2 = prompt("Digite o segundo número");

var numero3 = prompt("Digite o terceiro número");
var numero4 = prompt("Digite o quarto número");



var total = a(numero1, numero2) + b(numero3, numero4);

document.write("O resultado é " + total);

</script>
1 resposta

Fala, José! Tudo bem contigo?

Todas as vezes em que chamamos algo através de um prompt ele sempre receberá uma String. Mesmo sendo números, como foi o caso no seu código.

Por exemplo:

var numero1 = prompt("Digite o primeiro número"));
var numero2 = prompt("Digite o segundo número"));
var numero3 = prompt("Digite o terceiro número"));
var numero4 =prompt("Digite o quarto número"));

Se eu digitar 2, 2, 2, 2, em vez de somar 2 + 2 e vai entender que é para concatenar. Ele pensa: "Já que 2 é uma string e 2 é uma string, logo dará 22, pois string + string é concatenação"

Porém, na divisão não há como concatenar com a barra da divisão e assim ele interpreta como divisão mesmo e retorna 1

Como resultado final é apresentado 221

Para que isso não aconteça você deve transformar todos os números inseridos dentro do prompt através do parseInt. Dessa forma ele não irá concatenar, pois vai entender que é um número inteiro e somar esses números

var numero1 = parseInt(prompt("Digite o primeiro número"));
var numero2 = parseInt(prompt("Digite o segundo número"));
var numero3 = parseInt(prompt("Digite o terceiro número"));
var numero4 = parseInt(prompt("Digite o quarto número"));

Feito essa alteração, é só rodar!!!

Espero ter ajudado, José!!

Um abraço e bons estudos