Возникли проблемы с неопределенным выводом из этого кода ниже - PullRequest
0 голосов
/ 18 февраля 2020
var output = [];
var count = 1;

function fizzbuzz() {
  while (count <= 100) {
    if (count % 3 === 0 && count % 5 === 0) {
      output.push("FizzBuzz");
    } else if (count % 5 === 0) {
      output.push("Buzz");
    } else if (count % 3 === 0) {
      output.push("Fizz");
    } else {
      output.push(count);
    }
    count++;
  }


  console.log(output);
}

вывод со страницы инспектора google chrome и Mozilla Firefox говорит, что вывод не определен.

Серьезно, не знаю почему.

Ответы [ 3 ]

2 голосов
/ 18 февраля 2020

undefined, который вы видите, - это не то, что записывается в вашем console.log утверждении; Ваша функция еще не запущена, она определяется только . undefined - это значение выражения , которое вы оцениваете в консоли, которое на самом деле не имеет значения.

Просто добавьте оператор fizzbuzz(), чтобы запустить вашу функцию, и вы Вы увидите ожидаемый результат в журнале.

0 голосов
/ 18 февраля 2020

Ниже приведен измененный фрагмент вашей функции: 1) я переместил ваши объявления var в область действия функции, вместо того, чтобы быть глобальным, чтобы другие функции не могли влиять на их значения a) рассмотрим a для l oop вместо while l oop. a для l oop в большей степени соответствует цели выполнения чего-либо для заданного числа, такого как count <100 2) изменило ваш console.log на оператор return, чтобы при вызове этой функции она выполняла свои вызовы и отправляла обратно данные. таким образом, он не требует, чтобы вызывающая сторона имела доступ к консоли (ie, вызываемой из alert, document.write, et c) 3), вызвавшей вашу функцию изнутри оператора console.log, чтобы возвращаемое значение было зарегистрировано как было ваше первоначальное желание </p>

function fizzbuzz() {
  var output = [];
  var count = 1;
  while (count <= 100) {
    if (count % 3 === 0 && count % 5 === 0) {
      output.push("FizzBuzz");
    } else if (count % 5 === 0) {
      output.push("Buzz");
    } else if (count % 3 === 0) {
      output.push("Fizz");
    } else {
      output.push(count);
    }
    count++;
  }
  return output;
}
console.log(fizzbuzz());
0 голосов
/ 18 февраля 2020
var output = [];
var count = 1;

function fizzbuzz() {
while (count <= 100) {
  if (count % 3 === 0 && count % 5 === 0) {
    output.push("FizzBuzz");
  } else if (count % 5 === 0) {
    output.push("Buzz");
  } else if (count % 3 === 0) {
    output.push("Fizz");
  } else {
    output.push(count);
  }
  count++;
}
console.log(output);
}
// just need to add the below line
fizzbuzz();
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...