《Javascript中_==_和_===_的区别》

  JS关系运算符中的 == 和 ===:

            相同点:都是用来判断是否相等

            不同点:  ==  判断值是否相等,存在隐式转换

                           ===  表示全等,判断值和数据类型是否完全相等

            具体如下

                    ==

                            1):存在隐式转换规则:把字符串转化为数字 

                                               console.log('5' == 5);                 //true

                            2):当两边都是字符时,会触发字符比较规则,逐位比较

                                               console.log("abcd" == "acf");        //false

                            3):undefined被转成 NaN: NaN和任何数值都不相等                 

                                             console.log(NaN==NaN); //false
                                             console.log(undefined==0); //false
                                             console.log(undefined==1); //false
                                             console.log(undefined==true); //false
                                             console.log(undefined==false); //false

                            4):null被转成NaN: NaN和任何数值都不相等   

                                             console.log(null==0); //false
                                             console.log(null==1); //false
                                             console.log(null==true); //false
                                             console.log(null==false); //false

                            5):特殊的表达式判断

                                             console.log(null==undefined); //true

        
                    ===

                            1):不存在隐式转换规则

                                               console.log('5' === 5);              //false

                            2):特殊的表达式判断

                                             console.log(null===undefined);    //false

猜你喜欢

转载自www.cnblogs.com/daydayup-98282/p/12437343.html
今日推荐