您好,欢迎来到花图问答。
搜索
您的当前位置:首页JS == 和===的区别

JS == 和===的区别

来源:花图问答

强制类型转换:
字符串转整数可以使用: parseInt()
字符串转小数可以使用: parseFloat()

**[html]** [view  
 

<pre name="code" class="html"><!DOCTYPE html>  
<html lang="en">  
<head>  
    <meta charset="UTF-8">  
    <title>Title</title>  
    <script>  
       window.onload=function (){  
           var oTXT1=document.getElementById("txt1");  
           var oTXT2=document.getElementById("txt2");  
           var oTXT3=document.getElementById("txt3");  
           var oBtn=document.getElementById("btn");  
  
           oBtn.onclick=function() {  
               // 文本框对象.value是string类型,所以需要类型转换  
               // 字符串转数字  
  
               var n1=parseInt(oTXT1.value);  
               var n2=parseInt(oTXT2.value)  
  
               if(isNaN(n1) || isNaN(n2))  
               alert("input error");  
              oTXT3.value=n1+n2;  
           }  
       }  
    </script>  
</head>  
<body>  
    <input type="text" id="txt1" />  
    <input type="text" id="txt2" />  
    <input type="text" id="txt3" />  
    <input type="button"  id="btn" />  
</body>  
</html>  

隐式类型转换:

**[html]** [view  
 

<!DOCTYPE html>  
<html lang="en">  
<head>  
    <meta charset="UTF-8">  
    <title>Title</title>  
    <script>  
            var a=5;  
            var b="5";  
            alert(a==b);   //返回true , 这里做了隐式类型转换,先把a和b转换成相同的类型,再做比较。  

**[html]** [view  
 

            alert(a===b);  //返回false, === 不做类型转换  
  
    </script>  
</head>  
<body>  
</body>  
</html>  

**[html]** [view  
 

<!DOCTYPE html>  
<html lang="en">  
<head>  
    <meta charset="UTF-8">  
    <title>Title</title>  
    <script>  
            var a='7';  
            var b="5";  
            alert(a-b);   // 返回2, 减号做 隐式类型转换:字符串转整数  
            alert(a+b);   // 返回75,加号做 字符串连接  
    </script>  
</head>  
<body>  
</body>  
</html>  

==和===的区别:

false == 0; // truefalse === 0; // false

由于JavaScript这个设计缺陷,不要使用==
比较,始终坚持使用===
比较。

另一个例外是NaN
这个特殊的Number与所有其他值都不相等,包括它自己:

NaN === NaN; // false

唯一能判断NaN
的方法是通过isNaN()
函数:

isNaN(NaN); // true

Copyright © 2019- huatuowenda.com 版权所有 湘ICP备2023022495号-1

违法及侵权请联系:TEL:199 1889 7713 E-MAIL:2724546146@qq.com

本站由北京市万商天勤律师事务所王兴未律师提供法律服务