Tại sao isNaN(null) == false và isFinite(null) == true?

Mình có 1 số thắc mắc khi học JavaScript:
Mọi người cho mình hỏi là tại sao isNaN(null) == false và isFinite(null) == true ??
:frowning:
.__.
Cảm ơn mọi người

null = 0
isNaN = kiểm tra xem có phải 1 số hay không? Nếu phải ->false
http://www.w3schools.com/jsref/jsref_isnan.asp

2 Likes

ơ nhưng mà (null == 0) == false mà nhỉ :’(

Cái đó mình ko rõ. Do mới vọc JS thôi.
Mà cái hàm trên ảo diệu lắm. http://stackoverflow.com/questions/825402/why-does-isnan-equal-false

2 Likes

NaN ===NaN => false
NaN không so sánh với cái gì dc. Dùng hàm isNaN(x) chỉ trả về true khi x là NaN

Hàm isFinite(x) chỉ trả về false khi x là Infinity hoặc x là NaN hoặc là undefined :smile:

1 Like
  isNaN();                      // true
  isNaN(NaN);                   // true
  isNaN(undefined);             // true
  isNaN(new Object());          // true
  isNaN("blabla");              // true
  isNaN(new Date().toString()); // true
  isNaN(4);                     // true
  isNaN(null)                   // false

hix

1 Like

isNaN đọc thẳng ra là is Not a Number - không phải là số

Vì thế khi đưa vào đó một cái gì đó không phải là số thì nó sẽ đưa về đúng - true

VD từ w3school:

var a = isNaN(123) + "<br>";
var b = isNaN(-1.23) + "<br>";
var c = isNaN(5-2) + "<br>";
var d = isNaN(0) + "<br>";
var e = isNaN("123") + "<br>";
var f = isNaN("Hello") + "<br>";
var g = isNaN("2005/12/12");

var res = a + b + c + d + e + f + g;

Kết quả sẽ là:

false
false
false
false
false
true
true
1 Like

bài viết này sẽ có ích cho bạn.

1 Like

ok bạn ! bài này công nhận hay á O.O

83% thành viên diễn đàn không hỏi bài tập, còn bạn thì sao?