js基础---相等运算符(判断一个值是否是NaN 使用 isNAN() 函数)

    相等运算符
        ==
            - 相等,判断左右两个值是否相等,如果相等返回true,如果不等返回false
            - 相等会自动对两个值进行类型转换,如果对不同的类型进行比较,会将其转换为相同的类型然后再比较,
                转换后相等它也会返回true
        !=
            - 不等,判断左右两个值是否不等,如果不等则返回true,如果相等则返回false
            - 不等也会做自动的类型转换。
            
        ===
            - 全等,判断左右两个值是否全等,它和相等类似,只不过它不会进行自动的类型转换,
                如果两个值的类型不同,则直接返回false
                
        !==
            - 不全等,和不等类似,但是它不会进行自动的类型转换,如果两个值的类型不同,它会直接返回true
            
        特殊的值:
            - null和undefined
                - 由于undefined衍生自null,所以null == undefined 会返回true。
                    但是 null === undefined 会返回false。
                    
            - NaN
                - NaN不与任何值相等,报告它自身 NaN == NaN //false
                
            - 判断一个值是否是NaN
                - 使用isNaN()函数

 

<!DOCTYPE html>
<html>
    <head>
        <meta charset="UTF-8">
        <title></title>
        <script type="text/javascript">
            
            /*
             * 相等运算符用来比较两个值是否相等,
             *     如果相等会返回true,否则返回false
             * 
             * 使用 == 来做相等运算
             *     - 当使用==来比较两个值时,如果值的类型不同,
             *         则会自动进行类型转换,将其转换为相同的类型
             *         然后在比较
             * 不相等
             *      不相等用来判断两个值是否不相等,如果不相等返回true,否则返回false
             *     - 使用 != 来做不相等运算
             *     - 不相等也会对变量进行自动的类型转换,如果转换后相等它也会返回false
             * 
             *         
             *  ===
             *         全等
             *         - 用来判断两个值是否全等,它和相等类似,不同的是它不会做自动的类型转换
             *             如果两个值的类型不同,直接返回false
             *     !==
             *         不全等
             *         - 用来判断两个值是否不全等,和不等类似,不同的是它不会做自动的类型转换
             *             如果两个值的类型不同,直接返回true
             */
            
            //console.log(1 == 1); //true
            
            var a = 10;
            
            //console.log(a == 4); //false
            
            //console.log("1" == 1); //true
            
            //console.log(true == "1"); //true
            
            //console.log(null == 0); //false
            
            /*
             * undefined 衍生自 null
             *     所以这两个值做相等判断时,会返回true
             */
            //console.log(undefined == null);
            
            /*
             * NaN不和任何值相等,包括他本身
             */
            //console.log(NaN == NaN); //false
            
            var b = NaN;
            
            //判断b的值是否是NaN
            //console.log(b == NaN);
            /*
             * 可以通过isNaN()函数来判断一个值是否是NaN
             *     如果该值是NaN则返回true,否则返回false
             */
            //console.log(isNaN(b));
            
            //console.log(10 != 5); //true
            //console.log(10 != 10); //false
            //console.log("abcd" != "abcd"); //false
            //console.log("1" != 1);//false
            
            //console.log("123" === 123);//false
            //console.log(null === undefined);//false
            
            console.log(1 !== "1"); //true
            
            
        </script>
    </head>
    <body>
    </body>
</html>

 

上一篇:JS 基础


下一篇:MATLAB 读取 Excel 中连续数据