 
  
   
  
   
  
  Система последовательных операций (в соответствии с определёнными правилами) для решения какой-нибудь задачи.
function characterCalculator() {
    let words = prompt('Put your words here: ');
    if (Number(words) === 0) {
        alert(' Pls, enter a correct value: ');
        return characterCalculator();
    } else {
        return words.length;
    }
}words за пределы цикла       
  
  balance, amount в функции это локальные переменные, они не имею отношения к глобальным, имя не имеет значение, и то что оно одинаковое путает тебя.       
  
  Я понимаю, что хорошо, когда программист знает матмат программисту жизненного не обходим, без него никак...
Тут, на просторах тостера увидел
Серьезно, неужели это правда?
