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