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 ??
.__.
Cảm ơn mọi người
Tại sao isNaN(null) == false và isFinite(null) == true?
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
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