美文网首页
JS == 和===的区别

JS == 和===的区别

作者: 新晋小牛牛 | 来源:发表于2017-03-04 10:59 被阅读18次

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

**[html]** [view plain](http://blog.csdn.net/baoendemao/article/details/52723869#) [copy](http://blog.csdn.net/baoendemao/article/details/52723869#)
 [![在CODE上查看代码片](https://code.csdn.net/assets/CODE_ico.png)](https://code.csdn.net/snippets/1910438)[![派生到我的代码片](https://code.csdn.net/assets/ico_fork.svg)](https://code.csdn.net/snippets/1910438/fork)

<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 plain](http://blog.csdn.net/baoendemao/article/details/52723869#) [copy](http://blog.csdn.net/baoendemao/article/details/52723869#)
 [![在CODE上查看代码片](https://code.csdn.net/assets/CODE_ico.png)](https://code.csdn.net/snippets/1910438)[![派生到我的代码片](https://code.csdn.net/assets/ico_fork.svg)](https://code.csdn.net/snippets/1910438/fork)

<!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 plain](http://blog.csdn.net/baoendemao/article/details/52723869#) [copy](http://blog.csdn.net/baoendemao/article/details/52723869#)
 [![在CODE上查看代码片](https://code.csdn.net/assets/CODE_ico.png)](https://code.csdn.net/snippets/1910438)[![派生到我的代码片](https://code.csdn.net/assets/ico_fork.svg)](https://code.csdn.net/snippets/1910438/fork)

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

**[html]** [view plain](http://blog.csdn.net/baoendemao/article/details/52723869#) [copy](http://blog.csdn.net/baoendemao/article/details/52723869#)
 [![在CODE上查看代码片](https://code.csdn.net/assets/CODE_ico.png)](https://code.csdn.net/snippets/1910438)[![派生到我的代码片](https://code.csdn.net/assets/ico_fork.svg)](https://code.csdn.net/snippets/1910438/fork)

<!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在设计时,有两种比较运算符:
第一种是==
比较,它会自动转换数据类型再比较,很多时候,会得到非常诡异的结果;
第二种是===
比较,它不会自动转换数据类型,如果数据类型不一致,返回false
,如果一致,再比较。

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

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

NaN === NaN; // false

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

isNaN(NaN); // true

相关文章

  • require.js和sea.js的区别

    require.js和sea.js的区别 首先原理上的区别 sea.js遵循CMD规范.书写方式类似node.js...

  • 单引号和双引号

    JS中 js中单引号和双引号的区别(html中属性规范是用双引号,js中字符串规定是用单引号)(js中单引号区别和...

  • js复习

    1 数据类型 2 ===和==的区别, 3 js onload和DOMcontentloaded的区别 ...

  • js for in 和 for of的区别

    for in是ES5标准,遍历key(属性名),并且原型链上的所有属性也会被遍历。过滤原型链上的属性可以用hasO...

  • JS == 和===的区别

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

  • js == 和 ===的区别

    参考云澹的知乎回答。云澹里面同时提到了《JavaScript 标准参考教程(alpha。

  • 知识点杂谈

    1.js中null和undefined的区别 在js中null和undefined都表示空,但它们还是存在一定区别...

  • WKWebView 与 JS 交互及对象无法释放问题记录

    参考资料 弄清 JS 注入、JS 和原生约定接口的区别 从顺序上,应该先介绍 JS 和 原生约定接口 JS 和 原...

  • JS的[ ]和{}的区别

    JS中[]和{}的区别:image.png

  • js forEach map &&&

    原生JS forEach()和map()遍历的区别以及兼容写法 一、原生JS forEach() 和map()**...

网友评论

      本文标题:JS == 和===的区别

      本文链接:https://www.haomeiwen.com/subject/kubdgttx.html