Прохожу курсы Яндекс.Практикум. 20 вопрос. В чём ошибка?

Задание 20.В теле функции makeColorString(r, g, b) замените вызов console.log() оператором return, который возвращает значение bgValue.
В последнюю строку добавьте вызов метода document.write(), переместив в его скобки выражение makeColorString(red, green, blue) как аргумент.

Решение:
var red = prompt('Введите насыщенность цвета в виде числа от 0 до 255', 255);
var green = prompt('Введите насыщенность зелёного в виде числа от 0 до 255', 0);
var blue = prompt('Введите насыщенность синего в виде числа от 0 до 255', 0);
checkInput(red);
checkInput(green);
checkInput(blue);
makeColorString(red,green,blue);

function makeColorString(r, g, b){
  var bgValue = "rgb" + "(255, 0, 0)";
  return bgValue;
}

function checkInput(i){
  i = Number(i);
  if (isNaN(i)) {
    i = prompt('В качестве значения насыщенности цвета вы ввели не число. Пожалуйста, введите число от 0 до 255.', 255);
    i = Number(i);
  } else if(i < 0) {
    i=0;
    console.log('Наименьшее из возможных чисел — ноль, мы подставили значение 0.');
  } else if(i > 255) {
    i=255;
    console.log('Наименьшее из возможных чисел — ноль, мы подставили значение 255.');
  } else {
    console.log('Вы определили насыщенность цвета как ' + i);
  }
}

document.write(makeColorString(red, green, blue));


рядом с document.write пишет: 5d1e2b8cd7ce1991530788.jpeg
  • Вопрос задан
  • 1681 просмотр
Пригласить эксперта
Ответы на вопрос 3
hzzzzl
@hzzzzl
function checkInput(i){
........
} else if(i < 0) {
i=0;
вот это не сработает, этот i доступен только в теле функции, снаружи он не изменится
надо этот i вернуть из функции, например так

var red = prompt('Введите насыщенность цвета в виде числа от 0 до 255', 255);
red = checkInput(red);
// теперь red будет от 0 до 255

function checkInput(red) {
  if (red > 255) { red = 255 };
  if (red < 0) { red = 0 };
  return red;
}


дальше, в чем смысл этого, если всегда подставлять (255,0,0)?
function makeColorString(r, g, b){
var bgValue = "rgb" + "(255, 0, 0)";
return bgValue;
}

function makeColorString(r, g, b){
 return "rgb(" + r + ", " + g + ", " + b +")";
}


ну как-то так
Ответ написан
@yastas
Иван, привет! Напишите в нашу службу образовательной поддержки, пожалуйста: https://yandex.ru/support/praktikum/feedback.html — разберёмся вместе. Задачка и в самом деле не из простых, но мы поможем :)
Ответ написан
Комментировать
@MariaCreo
Лисичка
Добрый день! Точно такая же проблема, и практически такой же код. Разобрались? Есть решение? Сама не могу разобраться никак.
Ответ написан
Комментировать
Ваш ответ на вопрос

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

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