NaN

NaN: 代表一个非数字的值
Number.NaN
判断一个值是否为NaN?

  1. isNaN(NaN)
  2. Number.isNaN(NaN)
  3. x !== x
    image
    Number.isNaN()和isNaN()的差别?
    isNaN: 当前值是NaN,或者将其强制转换为数字后是NaN, 则返回true
    Nubmer.isNaN(): 只当前值是NaN,返回true
    image
    Todo: 我用Number(1n)不报错呀?用什么方法把bigint--->number类型的???
    image

全为false:
Number.isNaN("NaN");
Number.isNaN(undefined);
Number.isNaN({});
Number.isNaN("blabla");
Number.isNaN(true);
Number.isNaN(null);
Number.isNaN("37");
Number.isNaN("37.37");
Number.isNaN("");
Number.isNaN(" ");

先强制转为数字,再判断:
isNaN("NaN"); // true
isNaN(undefined); // true
isNaN({}); // true
isNaN("blabla"); // true
isNaN(true); // false,强制转换为 1
isNaN(null); // false,强制转换为 0
isNaN("37"); // false,强制转换为 37
isNaN("37.37"); // false,强制转换为 37.37
isNaN(""); // false,强制转换为 0
isNaN(" "); // false,强制转换为 0

posted @ 2024-04-10 14:20  躺尸的大笨鸟  阅读(4)  评论(0编辑  收藏  举报