Переменная JavaScript, возвращающая значение null при вводе цикла for

#javascript

#javascript

Вопрос:

Я работаю над некоторым кодом, который должен выводить накопление строки, например.

abc будет = A Bb Ccc

Но когда я тестирую его, ввод и вывод назначаются abc и «» соответственно, но как только цикл for выполняется, код просто останавливается и возвращает null.

Кто-нибудь может объяснить, почему? Я пробовал SubString вместо charAt безрезультатно.

 function accum(s) {

  //storage
  var input = s;
  var output = "";

  // capitalize first letter
  for (var i = 0; i < s; i  ) {
    output = input.charAt(i);
    output.toUpper();

    for (var j = i; j < i; j  ) {
      output  = output.toLower();
    };

    return output;
  };

}
console.log(accum("abc"));  

Комментарии:

1. Вы имели в виду i < s.length ? Вы имели в виду .toUpperCase() и .toLowerCase() ?

2. ДА.. потрясающее спасибо. Разбираясь в синтаксисе переключения, инструмент, который я использую, даже не выводил их как ошибки

3. Вы используете блокнот? 😀

4. с таким же успехом может быть!, нет, я прогоняю его через pythontutor.com/javascript.html#mode=edit , что действительно хорошо. Но не сообщает о каких-либо синтаксических ошибках и т. Д

Ответ №1:

Я считаю, что первый цикл for должен иметь условие i < s.length , в отличие от i < s .