(转)Javascript中==和===的区别
一、JavaScript"=="的作用
- 当==两边的内容是字符串时,则比较字符串的内容是否相等。
- 当==两边的内容是数字时,则比较数字的大小是否相等。
- 当==两边的内容是对象或者是对象的函数属性时,则比较内存地址是否相等。
二、==和===的区别
==用于一般比较,===用于严格比较,==在比较的时候可以转换数据类型,===严格比较,只要类型不匹配就返回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;
运行结果:
总结:
==和===的区别:"==" 只要求值相等; "===" 要求值和类型都相等
转:http://www.cnblogs.com/xdp-gacl/p/3668426.html