@Wolfgang1

Задача JS, не понимаю как решить isNaN?

Подскажите пожалуйста, туплю и не понимаю что делать. В СТУПОРЕ, понимаю , что туплю и не вижу выхода.Не могу записать правильно .Условие:
Напишите условие, которое проверяет, хранится ли в переменной red значение NaN. Если условие истинно, в переменной надо записать новое значение — ответ пользователя на вопрос, заданный вызовом метода prompt() с текстом: 'В качестве значения насыщенности красного вы ввели не число. Пожалуйста, введите число от 0 до 255.'
Дефолтным значением, как и раньше, укажите число 255.
Наши проверки должны стоять раньше, чем вызовы метода console.log() — тогда программа сначала проверяет условия, а потом формирует строку в консоли.
Мой ответ:
var red = 255;
var green = 0;
 var blue = 0;
var bgValue = `rgb(` + red +`, ` + green +`, `+ blue +`)`;
console.log(bgValue);
var red = prompt('Введите насыщенность красного в виде числа от 0 до 255');
var green = prompt('Введите насыщенность зелёного в виде числа от 0 до 255');
var blue = prompt('Введите насыщенность синего в виде числа от 0 до 255');
var red = prompt(255);
var green = prompt(0);
var blue = prompt(0);
var red = Number(red);
var green = Number(green);
var blue = Number(blue);

console.log(red + blue);
console.log(red + green + blue);
green = +green;
console.log(red + green + blue);
 red = (255);
green = (0);
blue =(0);
isNaN(red);
if (isNaN(red)) {
 red = prompt('Введите насыщенность красного в виде числа от 0 до 255');
   
}
console.log(isNaN(red));


Прошу помочь и объяснить!
  • Вопрос задан
  • 433 просмотра
Решения вопроса 1
rockon404
@rockon404
Frontend Developer
Развивайте алгоритмическое мышление.
function isValid(value) {
  return !isNaN(value) && value >= 0 && value <= 255;
}

function getColorNumberValue(message) {
  let value = +prompt(message, 255);
  
  while(!isValid(value)) {
    value = +prompt('Вы ввели некорректное значение. ' + message, 255);
  }
  
  return value;
}

const red = getColorNumberValue('Введите насыщенность красного в виде числа от 0 до 255');
const green = getColorNumberValue('Введите насыщенность зеленого в виде числа от 0 до 255');
const blue = getColorNumberValue('Введите насыщенность синего в виде числа от 0 до 255');

alert(`Результат: rgb(${red}, ${green}, ${blue})`);
Ответ написан
Пригласить эксперта
Ваш ответ на вопрос

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

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