Прохожу курсы Яндекс.Практикум. 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
Лисичка
Добрый день! Точно такая же проблема, и практически такой же код. Разобрались? Есть решение? Сама не могу разобраться никак.
Ответ написан
Комментировать
Ваш ответ на вопрос

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

Войти через центр авторизации
Похожие вопросы
19 апр. 2024, в 05:01
999999 руб./за проект
19 апр. 2024, в 03:52
1000 руб./за проект
19 апр. 2024, в 03:01
1000 руб./за проект