Javascript - в консоли отображается неопределенный var

Вероятно, простой вопрос, но я не был уверен, что искать, чтобы найти ответ.

Работая над Eloquent Javascript, я понял следующее:

var size = 8;
var board;

for (var y = 0; y < size; y++) {
  for (var x = 0; x < size; x++) {
    if ((x + y) % 2 == 0)
      board += " ";
    else
      board += "X";
  }
  board += "\n";
}
console.log(board);

Производит

undefined x x x x
x x x x 
 x x x x
x x x x 
 x x x x
x x x x 
 x x x x
x x x x 

Если я изменю переменную платы на var board = ""; этого не происходит

Я не понимаю почему, кто-то может просветить меня?

Я запускаю это в jfiddle.net с помощью https://getfirebug.com/firebug-lite-debug.js настройки внешнего ресурса (для получения консоли).

1 ответ

Решение

Ваше добавление строковых значений в неопределенную переменную. Он был объявлен только как не инициализированный, поэтому вы должны инициализировать переменную перед ее использованием, установив значение "".

Другие вопросы по тегам