вот так решил сделать, работает проверка на пустое значение, но если значение введено, то почему то не вовзращает значение
У тебя prompt обернут в Number, значит ты явно пытаешься привести значени введённое пользователем к числу. Там всего два варианта что будет в переменной number NaN или валидное число. В условии проверь isNaN(number) если true - return readNumber() (попросить ввести ещё раз), если false - return number. Функция у тебя будет возвращать число, но ты никуда не присваеваешь и не выводишь возвращаемое значение, напиши хотя бы console.log(readNumber()).