> 技术操作
javascipt中==和===的区别(js中和是什么意思)
导语:javascript中==和===有哪些不同
在javascript中说到比较运算符,大家熟悉的可能就是==了,对于===可能很多人都不是很清楚。毕竟用的比较多的就是==,那接下来我们来看一下,他们之间有时什么不一样的地方
1.==如果两边不是同一类型,那么会做一个隐式的类型转换,再进行比较1.1如果一个是字符串,另一个是数字,那么他会先将字符串转换成数字,再进行比较
1.2如果一个是null,另一个是undefined,那么他们相等
1.3如果其中一个值为true,则将其转换成1再进行比较。同理,如果其中一个为false,则将其转换成0再进行比较
1.4如果一个值是对象,另一个值是字符串或者数字。则将对象转换成原始值在进行比较。对象通过toString()或者valueOf()的方法进行转换
1.5其他类型的比较均不相等
举例说明:
var a='2',b='2',c=2,d=3,e=null,f=undefined;
a==b;//结果为true
a==c;//结果为true
a==d//结果为false
e==f//结果为true
2.===首先是计算其操作数的值,然后再比较这两个值,比较过程不涉及到转换2.1如果两个值都为null或者是undefined,那么他们不相等
2.2如果两个值都为true或者false,则他们相等
2.3如果两个值类型不相同,一个是字符串,一个是数字,那么他们不想等
2.4如果两个值都是NaN,那么他们不相等
2.5如果两个值引用的同一个对象、数组或者函数,那么他们的值是相等的,如果不是,那么他们的值不相等
举例说明:
var a='2',b='2',c=2,d=3,e=null,f=undefined;
a===b//结果为true
a===c//结果为false
a===d//结果为false
e===f//结果为false
本文内容由小芦整理编辑!