Я начал изучать JavaScript несколько дней назад, и один из циклов for в простой части кода, который я пишу, вызывает undefined
в предупреждении. Я понимаю, что это результат переменной неопределенного типа. Проблема в том, что я не знаю, какую часть моего кода мне нужно исправить. Вот фрагмент кода:
var message;
for (var songs = 0; songs < playlist.length; songs++) {
message += '\n' + (songs+1) + '. ' + playlist[songs] + '\n';
}
alert(message);
Он отображает undefined
прямо над строкой с первым элементом массива playlist
.
Я попытался удалить элементы переменной message
одному, чтобы проверить, какой из них мог вызвать ее. Я также попытался добавить: message = String(message);
после цикла for.
Я буду очень благодарен за помощь/объяснение моей проблемы.
Вы не инициализировали свою переменную message
со значением, поэтому она не undefined
.
Установите его на начальное значение, например:
var message = '';
Вы инициализируете message
как неопределенное значение, а затем добавляете к нему - в результате строка "undefined", когда это значение принудительно вводится в строку.
Вместо этого попробуйте инициализировать его как пустую строку:
var playlist = ["foo","bar","bar"]
var message = ""; // <-- here
for (var songs = 0; songs < playlist.length; songs++) {
message += '\n' + (songs+1) + '. ' + playlist[songs] + '\n';
}
alert(message);
undefined
. Это отличается от null
.