3
respostas

Boa Noite ,estou com algumas duvidas neste codigo,esta dando a variavel j com NaN

<meta charset="UTF-8">

<script>

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

    function mostra(frase) {

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


    var i;
    var j;

    var n = prompt("DIGITE QUANTAS PESSOAS IRAO DIGITAR");

    for(var a=0;a<n;a++){

    i =  parseInt(prompt("Digite sua Idade"));
    j = j + i;

    document.write(i+" _ "+j+" _ ");
    }


  // alert("VOCE POSSUI "+n+" pessoas na sua familia,e a media de idade e: "+j);
</script>
3 respostas

ainda nao terminei o codigo,so que estou em duvidas de onde esta vindo esse NaN .

Boa noite Erick,

Javascript é uma linguagem de "tipagem dinâmica", ou seja nós não declaramos o tipo de cada variável. O tipo de uma variável é definido quando colocamos algum valor dentro dela.Se colocarmos uma palavra ela é uma String, se colocarmos um número ela é do tipo number e por aí vai.

NaN é a abreviação de "Not A Number" (Não Número), esse é o resultado que aparece quando o javascript não consegue fazer uma operação matemática.

Por último quando declaramos uma variável sem atribuir um valor no javascript ela recebe o valor padrão de undefined. undefined é o mesmo que nada, mas é diferente de zero ou de uma String vazia, é um valor que representa que aquela variável não recebeu nenhum valor.

Portanto o erro no seu código está aqui:

j = j + i;

Quando você tenta somar j + i o j está undefined, e como o javascript não sabe somar undefined + 10 ele retorna NaN.

Pra resolver o seu problema basta declarar um valor inicial para o j (e para o i também só pra manter o padrão):

var i = 0;
 var j = 0;

exemplo

Abraços

Oi Erick a resposta do Vínicius te ajudou alguam dúvida ainda ou já foi solucionado?