Я попытался создать в JavaScript функцию, которая сообщает, является ли число четным или нет, или это число вообще. Я получаю эту ошибку:
Это для урока в CodeCademy.
4 ответа
Вы проверяете, существует ли функция isNaN
, а не является ли число NaN
похожим на isNaN(number)
.
И хотя строка с содержанием является правдивой, результат верен для любого числа.
Вы возвращаете строку.
else if(isNan){
return "Whatever";
}
Вы просто говорите javascript для оценки isNan, как значение, а не как функцию. Чтобы оценить его как функцию, вы должны использовать его для вызова , например:
else if(isNan(yourNumber)){
return true;
}
Кстати, когда вы пытаетесь оценить функцию как значение, как вы, javascript всегда будет возвращать true, если эта функция не является неопределенной или нулевой.
Потому что
else if(isNaN)
Будет true
и вернет "This is not a number"
, и эта строка будет считаться истинной. Здесь вы проверяете, isNaN
определен как функция или нет, что, конечно, определено, поэтому вы должны проверить, где число является действительным числом или нет.
Вместо этого вы должны делать
else if(isNaN(number))
IsNaN - это функция, поэтому ваш оператор else if (isNaN) всегда должен быть истинным, поскольку isNaN - допустимая функция. Попробуйте else if (isNaN(number))
, и вам, вероятно, следует проверить isNaN, прежде чем пытаться по модулю, поскольку, если вы введете строку, она сразу же выдаст ошибку, когда вы попытаетесь получить модуль строки.
Похожие вопросы
Новые вопросы
javascript
По вопросам программирования на ECMAScript (JavaScript / JS) и его различных диалектах / реализациях (кроме ActionScript). Включите все соответствующие теги в свой вопрос; например, [node.js], [jquery], [json] и т. д.