概述
区别:
== 只比较值,=== 比较类型和值。
- == 是判断等于的意思,返回的是一个布尔值,如:alert(1 == 1);将返回true,因为1等于1,如果 alert(1 == '1');也返回true,虽说后面的1是字符串类型,但是==是不判断类型的,所以还是true,如果:alert(1 == '2')就是false了,因为1不等于2;
- === 也是判断的,但是它要比==判断的严谨一点,它的判断必须什么都相等,比如说类型,值;如: alert(1 === 1);将返回true,因为它们都是1,而且都是数字类型,如果:alert(1 === '1');将返回false,因为前面的1是数字类型,后面的1是字符串类型。
总结:
- 在使用中尽量采用 === 判断,因为这样更严谨一些,当然有的时候你得用 == 了,这分情况,适当的运用。上面提到'1'是字符串类型,为什么呢?因为他外面加 引号 了,只要加引号就会是字符串类型,如果是数字类型可以直接写数字,如果:var a = b1;就会出错,因为如果 = 的右边没有加 引号,且还不是纯数字,它会认为你是变量,而其中b1变量又不存在就会报错,当然如果存在就没事。
- 如果数让字符串类型的1跟数字类型的1做算术是会报错的。如果 var a = '1',b = 2,c = a + b; 你必须得把a转成数字类型,上面提示你将字符串转成数字最快的方式就是让本身1,当然你必须确保里面没有字母,如 var a = '1',b = 2,c = a1 + b;
- 一般情况下,本身是等于本身的,比如alert(undefined===undefined);//true alert(1===1)//true ,有一个例外,它连自己都不等于自己,alert(NaN === NaN)不管你是 == 还是 === ,它都是false,这个是个特殊。
小提示:
其实 == 在判断的时候对数值做了 "隐式转换", 比如 0 == false
最后
以上就是苗条金毛为你收集整理的== 和 === 有什么区别?的全部内容,希望文章能够帮你解决== 和 === 有什么区别?所遇到的程序开发问题。
如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。
本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
发表评论 取消回复