[JS]Javascript中==和===的区别

来源:互联网 发布:手机碎屏软件 编辑:程序博客网 时间:2024/05/29 17:42

一、JavaScript"=="的作用

  1. 当==两边的内容是字符串时,则比较字符串的内容是否相等。
  2. 当==两边的内容是数字时,则比较数字的大小是否相等。
  3. 当==两边的内容是对象或者是对象的函数属性时,则比较内存地址是否相等

二、==和===的区别

  ==用于一般比较,===用于严格比较,==在比较的时候可以转换数据类型,===严格比较,只要类型不匹配就返回flase

举例说明:

1  <script type="text/javascript">2     alert("\"1\"==true的结果是:"+("1"==true));3     alert("\"1\"===true的结果是:"+("1"===true));4     alert("\"1\"==1的结果是:"+("1"==1));5     alert("\"1\"===1的结果是:"+("1"===1));6  </script>

  "1" == true类型不同,"=="将先做类型转换,把true转换为1,即为 "1" == 1;此时,类型仍不同,继续进行类型转换,把"1"转换为1,即为 1 == 1;此时,"==" 左右两边的类型都为数值型,比较成功!

  "1" === true 左侧为字符型,右侧为bool布尔型,左右两侧类型不同,结果为false;

  "1" === 1 左侧为字符型,右侧为int数值型,左右两侧类型不同,结果为false;

运行结果:

总结:

  ==和===的区别:"==" 只要求值相等; "===" 要求值和类型都相等

0 0