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

Segunda função ignorada?

Estou curiosa por saber como a lógica é pensada pelos computadores nesse caso. Na parte básica aprendemos que dentro do document.write() se inserirmos o parâmetro string + number + number o resultado é uma concatenação dos dados, então para obter a soma dos dois numbers devemos colocar-los entre parênteses e assim serão somados e logo concatenado com a string, correto?

Agora, quando eu esqueci de colocar os parênteses no mostra() e quis somar o resultado da função e concatenar com a string, como mostrei no código abaixo, o computador não concatenou e também não fez o cálculo ou algo do tipo. Não consegui descobrir a lógica por trás do que exatamente ele fez.

Alguém poderia me explicar?

PS: no meu código final, já adicionei os parênteses e já está tudo funcionando bem.

function mostra(frase) {

        document.write(frase);
        pulaLinha()
    }

function calcularImc(peso, altura) {

        return peso/(altura * altura);
    }

    mostra( "O meu IMC é " + calcularImc(68, 1.72) + calcularImc(73, 1.71) );

Obrigada.

2 respostas

Bom, não consigo exluir o tópico então, vou responder porque encontrei a resposta.

Na verdade, a concatenação acontece da mesma forma, a minha confusão foi que não há espaço entre os resultados apresentados, é uma sequência de números todos juntos.

solução!

Oi Nayana isso mesmo.

A concatenação de uma frase com um número, ou seja, de uma string + number vai resultar em uma string. E se pegarmos o resultado que é uma string e concatenar com o próximo número o resultado vai ser uma string novamente, pois como vc havia esquecido de colocar o parênteses a leitura é feita da esquerda para a direita.