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

Está concatenando ao invés de somar

Para o código abaixo na função "bb" onde tem a soma de dois termos o resultado está concatenando e realizando a operação apenas da função "aa", não entendi o motivo de não ter sido realizado a soma.

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

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

function aa(numero1, numero2){
    return (numero1 / numero2);

}

function bb(numero1, numero2){
    return (numero1 + numero2);

}

var numero1 = prompt("Digite o numero1");
var numero2 = prompt("Digite o numero2");

var resultado = aa(numero1, numero2) + bb(numero1, numero2);

mostra(resultado);
2 respostas
solução!

Bom dia, Luiz!

As variáveis numero1 e/ou numero2 devem estar recebendo valores que não são do tipo inteiro.

  1. Se numero1 = '10' e numero2 = 20, é realizada uma concatenação e o resultado é "1020";
  2. Se numero1 = '10' e numero2 = '20", também é realizada uma concatenação e o resultado também é "1020";
  3. Se numero1 = 10 e numero2 = 20, neste caso sim é realizada uma soma e o resultado é 30.

Você vai ter que converter essas variáveis para inteiro se quiser realizar a soma.

//Testa o código abaixo
function bb(numero1, numero2){
    return (parseInt(numero1) + parseInt(numero2));
}

Eai Luis, realizei uma alteração dentro da sua função bb. Geralmente os retornos em JavaScript são sempre taipados como Strings, então realizei na duas primeiras linhas a conversão destes para Int utilizando o parseInt. Depois peguei os valores dos campos pelo ID, com document.getElementById(), o número 10 significa em qual base ele será convertido, para concluir realizei a soma dos dois valores e joguei o resultado no input.

*OBS: Para colocar Strings juntas em JavaScript, usamos o operador (+), por isso ele não estava somando os valores.*

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

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

function aa(numero1, numero2){
      var numero1 = parseInt(document.getElementById('numero1').value, 10);
      var numero2 = parseInt(document.getElementById('numero2').value, 10);
      document.getElementById('resultado').innerHTML = numero1 + numero2;

}

function bb(numero1, numero2){
    return (numero1 + numero2);

}

var numero1 = prompt("Digite o numero1");
var numero2 = prompt("Digite o numero2");

var resultado = aa(numero1, numero2) + bb(numero1, numero2);

mostra(resultado);