Hàm Number.isNaN() trong Javascript
Phương thức Number.isNaN() sẽ kiểm tra giá trị truyền vào có phải là một giá trị NaN(NOT-A-NUMBER) hay không.

Giá trị NaN là gì? Thực chất NaN là một giá trị số mà không phải số :), nghe có vẻ ẩn ý nhưng thực chất là vậy, nếu không tin các bạn có thể sử dụng đoạn mã script sau để kiểm tra : typeof(NaN) kết quả sẽ trả về number, do đó NaN cũng thuộc kiểu number. Vậy còn vế thứ 2, ta cùng tìm hiểu một số cách để sinh ra giá trị NaN :
- Lấy số 0 chia cho số 0
- Lấy vô cùng (infinity) chia cho vô cùng (infinity)
- Nhân vô cùng (infinity) với số 0
- Bất kỳ phép tính toán nào trong đó NaN là một toán hạng
- Chuyển đổi một xâu non-numeric hoặc undefined về dạng number.
Vậy NaN là các giá trị số không xác định nhưng nó vẫn là số nên NaN thuộc kiểu number.
Trở lại với phương thức Number.isNaN(), nó khác với hàm toàn cục isNaN(), hàm isNaN() sẽ chuyển giá trị cần kiểm tra sang kiểu số rồi sau đó kiểm tra, phương thức Number.isNaN() thì khác, nó sẽ trả về False với bất kì giá trị nào không thuộc kiểu number mà không ép kiểu cho nó.
Bài viết này được đăng tại [free tuts .net]
Cú pháp
Cú pháp: Number.isNaN(value)
Trong đó:
- value là giá trị cần kiểm tra.
Cách sử dụng
Ví dụ: sử dụng phương thức Number.isNaN() để kiểm tra một số giá trị.
<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8">
</head>
<body>
<h1>Học lập trình miễn phí tại freetuts.net</h1>
<p>Click vào button để in mảng.</p>
<button onclick="myFunction()">Run</button>
<p id="demo"></p>
<script>
function myFunction() {
var res = "";
res = res + "123 : " + ((Number.isNaN(123)) ?
'Là một số NaN' : 'Không phải là một số NaN') + "<br>";
res = res + "10/3 : " + ((Number.isNaN(10/3)) ?
'Là một số NaN' : 'Không phải là một số NaN') + "<br>";
res = res + "-4 : " + ((Number.isNaN(-4)) ?
'Là một số NaN' : 'Không phải là một số NaN') + "<br>";
res = res + "4,132 : " + ((Number.isNaN(4.132)) ?
'Là một số NaN' : 'Không phải là một số NaN') + "<br>";
res = res + "'123' : " + ((Number.isNaN('123')) ?
'Là một số NaN' : 'Không phải là một số NaN') + "<br>";
res = res + "'freetuts' : " + ((Number.isNaN('freetuts')) ?
'Là một số NaN' : 'Không phải là một số NaN') + "<br>";
res = res + "'1/6/2017' : " + ((Number.isNaN('1/6/2017')) ?
'Là một số NaN' : 'Không phải là một số NaN') + "<br>";
res = res + "Infinity : " + ((Number.isNaN(Infinity)) ?
'Là một số NaN' : 'Không phải là một số NaN') + "<br>";
res = res + "'0/0 :' " + ((Number.isNaN(0/0)) ?
'Là một số NaN' : 'Không phải là một số NaN') + "<br>";
res = res + "'Infinity*0' : " + ((Number.isNaN(Infinity*0)) ?
'Là một số NaN' : 'Không phải là một số NaN') + "<br>";
document.getElementById("demo").innerHTML = res;
}
</script>
</body>
</html>123 : Không phải là một số NaN 10/3 : Không phải là một số NaN -4 : Không phải là một số NaN 4,132 : Không phải là một số NaN '123' : Không phải là một số NaN 'freetuts' : Không phải là một số NaN '1/6/2017' : Không phải là một số NaN Infinity : Không phải là một số NaN '0/0 :' Là một số NaN 'Infinity*0' : Là một số NaN
Tham khảo: w3schools.com

Các hàm xử lý chuỗi trong Javascript (cắt / tách / nối chuỗi ..)
Chia lấy phần dư / chia lấy phần nguyên trong javascript
Các cách khai báo biến trong Javascript
Các sự kiện (Event) trong Javascript
Hướng tạo thanh search bar bằng CSS
Hàm array.slice() trong Javascript
Tính tổng hai số bằng Javascript (cộng hai số)
Cách khai báo biến trong PHP, các loại biến thường gặp
Download và cài đặt Vertrigo Server
Thẻ li trong HTML
Thẻ article trong HTML5
Cấu trúc HTML5: Cách tạo template HTML5 đầu tiên
Cách dùng thẻ img trong HTML và các thuộc tính của img
Thẻ a trong HTML và các thuộc tính của thẻ a thường dùng