Мои задачи по Javascript
Случайная задача
Список всех задач

Задача 31

var x1 = 5;
var x2 = { text: 'слово' };
var x3 = 5 * 'текст';
var x4 = NaN;

var i = 0;

if (isNaN(x1)) { i++; }
if (isNaN(x2)) { i++; }
if (isNaN(x3)) { i++; }
if (isNaN(x4)) { i++; }

console.log(i); // ??
Что выведет консоль?
1
2
3
4
5
6
7
← Задача 30Задача 32 →
Пояснение Глобальная функция isNaN() принудительно конвертирует в число то, что получает параметром, а потом проверяет на "не число". Для значения NaN возвращает true.
console.log(isNaN()); // true
console.log(isNaN(undefined)); // true
console.log(isNaN(false)); // false
console.log(isNaN(true)); // false
console.log(isNaN(5)); // false
console.log(isNaN('5')); // false
console.log(isNaN('-5')); // false
console.log(isNaN({})); // true
console.log(isNaN({toString: function(){return 'text';}})); // true
console.log(isNaN({toString: function(){return '-5';}})); // false
console.log(isNaN({valueOf: function(){return 5;}})); // false
console.log(isNaN({valueOf: function(){return '5';}})); // false
console.log(isNaN(NaN)); // true
Для проверки только на значение NaN необходимо использовать метод Number.isNaN() (не поддерживается старыми браузерами без ECMAScript 6).



Написать сообщение - отзыв, пожелание и т.п.