Как это превращается в строку?

Каким образом La превращается во время выполнения кода в LaLaLa?

if (!String.prototype.repeat) { // Если такого метода нет
  // добавляем его в прототип

  String.prototype.repeat = function(n) {
    // повторить строку n раз

    // на самом деле код должен быть немного более сложным
    // (полный алгоритм можно найти в спецификации)
    // но даже неполный полифил зачастую достаточно хорош для использования
    return new Array(n + 1).join(this);
  };
}

alert( "La".repeat(3) );

В массиве здесь n+1 - т.е. 3+1, а в качестве thisздесь "La".
А что происходит потом?
  • Вопрос задан
  • 91 просмотр
Решения вопроса 1
scottparker
@scottparker
new Array(4).join('La')- соединяет элементы массива вставляя между ними La. Элементы массива пустые, то есть получается "" + "La" + "" + "La" + "" + "La" + ""
Ответ написан
Комментировать
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы