isNaN() 全局函数检查参数是否为非数字值

isNaN() 函数

isNaN() 全局函数用于检查其参数是否是非数字值。

语法:isNaN(x)

参数 描述
x 必需。要检测的值。

返回值:如果 x 是特殊的非数字值 NaN(或者能被转换为这样的值),返回的值就是 true。如果 x 是其他值,则返回 false。

说明:isNaN() 函数可用于判断其参数是否是 NaN,该值表示一个非法的数字(比如被 0 除后得到的结果)。

提示:如果把 NaN 与任何值(包括其自身)相比得到的结果均是 false,所以要判断某个值是否是 NaN,不能使用 == 或 === 运算符,正因为如此,isNaN() 函数是必需的。

提示:isNaN() 函数通常用于检测 parseFloat() 和 parseInt() 的结果,以判断它们表示的是否是合法的数字。当然也可以用 isNaN() 函数来检测算数错误,比如用 0 作除数的情况。

编码示例

    <script type="module">
        /**因为 isNaN 是全局函数,所以可以直接使用*/

        console.log(isNaN(123));        // 输出 false
        console.log(isNaN(-1.23));      // 输出 false
        console.log(isNaN(5 - 2));      // 输出 false
        console.log(isNaN(0));          // 输出 false
        console.log(isNaN("12HaHa123"));    // 输出 true
        console.log(isNaN("2005/12/12"));   // 输出 true

        let json = {"name": "华安", "age": 33};
        let arr = [1, 2, 3, 4, 5];
        console.log(json, isNaN(json));   // 输出 {name: "华安", age: 33} true
        console.log(arr, isNaN(arr));    // 输出 [1, 2, 3, 4, 5] true

        let parseIntResult = parseInt("123Ha");
        let parseFloutResult = parseFloat("3.14159圆周率");
        console.log(parseIntResult, isNaN(parseIntResult)); // 输出 123 false
        console.log(parseFloutResult, isNaN(parseFloutResult)); // 输出 3.14159 false

        console.log(NaN == NaN, NaN === NaN); //输出 false false
    </script>

猜你喜欢

转载自blog.csdn.net/wangmx1993328/article/details/84133606