1、用法
都是用来比较值的。
2、比较过程
!= 比较时,若类型不同,会偿试转换类型;
!== 只有相同类型才会比较。
3、比较结果
!=返回同类型值比较结果 ;
!== 不同类型不比较,且无结果,同类型才比较;
4、举例
var num = 1 var str = '1' var test = 1
test !== num //false test与num类型相同,其值也相同,非运算肯定是false。
num != str //false == 的非运算。
num !== str //true num 与 str类型不同 意味着其两者不等,非运算自然是true啦。
扩展资料:
== 和 != 比较若类型不同,先偿试转换类型,再作值比较,最后返回值比较结果 。
而=== 和 !== 只有在相同类型下,才会比较其值。
== equality 等同,=== identity 恒等。
==, 两边值类型不同的时候,要先进行类型转换,再比较。
===,不做类型转换,类型不同的一定不等。
“=”:这个表示赋值,不是表示运算符
“==”:表示等于(值)
“===”:表示全等于(类型和值)
一、两者的区别相等:先强制转换变量类型,再比较
全等:不转换类型,一旦类型不同,就是不全等。
二、相等和不相等的比较规则
1.操作符中有布尔值时:比较前先将之转换为数值
false =>0 , true =>1
2.字符串,另一个是数值:字符串去将就数值
3.对象:object.valueOf()方法,用得到的基本类型值按照前面的规则进行比较
4.操作符
4.1 none == undefined:相等
4.2 NaN ==其他(不管是别人还是自己):false(不等号操作,反之)
4.3 对象 == 对象 :指向同一个对象时才true
出于严谨考虑,推荐‘===’操作符