Задать вопрос
@Halcod

По понимаю порядок цикла?

Привет я учусь.
Не могу понять почему в функции mountain,цикл создает сначала четыре кавычки потом слеш.
Ведь выполнять инструкции должно по порядку.То-есть по мне так должно быть ковычка-слеш-ковычка-слеш.
Может быть я что-то пропуcтил про циклы?
ps.Книга "Выразительный Javascript".

var landscape = function() {
  var result = "";
  var flat = function(size) {
    for (var count = 0; count < size; count++)
      result += "_";
  };
  var mountain = function(size) {
    result += "/";
    for (var count = 0; count < size; count++)
      result += "'";
    result += "\\";
  };
  flat(3);
  mountain(4);
  flat(6);
  mountain(1);
  flat(1);
  return result;
};
console.log(landscape());
// → ___/''''\______/'\_
// почему не так ? ___/'\'\'\_____/'\_
  • Вопрос задан
  • 299 просмотров
Подписаться 1 Оценить Комментировать
Пригласить эксперта
Ответы на вопрос 2
@holymotion
Потому что в функции mountain result += "\\" должно быть в цикле, а значит вы должны обернуть и первое и второе действие в фигурные скобки, тогда всё заработает. А у вас 4 раза подряд конкатенируются строки из "'", а затем добавляется к концу строки слэш.
var landscape = function() {
  var result = "";
  var flat = function(size) {
    for (var count = 0; count < size; count++)
      result += "_";
  };
  var mountain = function(size) {
    result += "/";
    for (var count = 0; count < size; count++) {
      result += "'";
      result += "\\";
    }
  };
  flat(3);
  mountain(4);
  flat(6);
  mountain(1);
  flat(1);
  return result;
};
console.log(landscape());
// → ___/''''\______/'\_
// почему не так ? ___/'\'\'\_____/'\_
Ответ написан
@di23
А с чего вы решили что должно быть так?? ___/'\'\'\_____/'\_

Ведь в цикле находится только вот эта строчка result += "'";

АПД: Грубо, что делает mountain?
Ставит / потом Н-ое кол-во кавычек, т.к. в цикле стоит только добавление именно их и ничего больше. потом закрывает это все этим \
Тут я даже не знаю как проще объяснить. Читайте код.
Ответ написан
Комментировать
Ваш ответ на вопрос

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

Похожие вопросы