有两个isNaN方法,分别是window.isNaN和es6中Number.isNaN


    Number.isNaN用来检查该参数是否为NaN,只判断一个NaN值,其他不是数字的参数,同样会返回false,因为他们不是NaN

    1. Number.isNaN(NaN);//true
    2. Number.isNaN(15);//false
    3. Number.isNaN('15') // false
    4. Number.isNaN(true) // false
    5. Number.isNaN(9/NaN) // true
    6. Number.isNaN('true'/0) // true
    7. Number.isNaN('true'/'true') // true

    也就是说Number.isNaN中参数是NaN则会返回true,否则回返回false.
    但全局上的isNaN,则会先进行Number()转换,也就是说得先看参数可不可以是数字.

    1. isNaN(NaN);//true
    2. isNaN(123);//false
    3. isNaN('123');//false
    4. isNaN(true);//false
    5. isNaN('foo');//true

    :::info 两者同样的是传入NaN会返回true,不同的是Number.isNaN只能判断参数是不是NaN这种类型,而window.isNaN则会先进行Number()转换,换句话说,不仅能判断是不是NaN类型,还可以判断参数是否是数字 :::