30/09/2018, 17:28

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 ??

.__.
Cảm ơn mọi người

*grab popcorn* viết 19:38 ngày 30/09/2018

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

IDL viết 19:41 ngày 30/09/2018

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

*grab popcorn* viết 19:40 ngày 30/09/2018

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

Gió viết 19:29 ngày 30/09/2018

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

IDL viết 19:40 ngày 30/09/2018
  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

nhatlonggunz viết 19:44 ngày 30/09/2018

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
Nguyễn Phú viết 19:39 ngày 30/09/2018

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

kipalog.com

Javascript - Những khó hiểu trong câu lệnh điều kiện if và phép toán so sánh

Một số vấn đề Theo cá nhân tôi, Javascript có lẽ là một trong những ngôn ngữ dễ học, dễ viết nhất. Một web developer mới bắt đầu có lẽ chỉ cần từ ...

IDL viết 19:38 ngày 30/09/2018

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

Bài liên quan
0