У вас перед выполнением цикла переменная str2 не инициализирована, поэтому она имеет значение undefined, дальше, при первой итерации цикла i равно str.length, а в строке есть только символы от 0 до str.length-1, поэтому str[i] даёт undefined, а undefined+undefined даёт NaN.
|