1.大于 > (小于 效果一样)
var box=3>2 //true var box=3>22 //false var box=‘3‘>22 //false,如果有一个字符串,字符串转换成数值在比较 var box=‘3‘>‘22‘ //true,如果两个都是字符串,则比较第一次字符 var box=‘a‘>‘b‘ //false,a=97,b=98对照ascii码 var box=‘a‘>‘B‘ //true,B=66 var box=1>对象 //false,如果有toString()或valueOf(),返回/>返回值
2.等于 =
var box=2==2 //true var box=‘2‘==2 //true,‘2‘转换成2 var box=false==0 //true,false转换成数值为0 var box=‘a‘==‘A‘; //false,转换后的编码不一样 var box=NaN==NaN //false var box=2=={} //false,执行toString()和valueOf()会改变 var box=2==NaN //false,只要有NaN都为false var box={}=={} //false,对象比较的是他们的地址,对象的引用地址都不一样 var age={} var height=age var box=age==height //true,引用地址一样 var box=‘2‘===2 //false,三个等号必须值和类型都相等 var box=2!==2 //false,值和类型都相等
3.特殊符号的比较
表达式 | 值 |
null==undefined | true |
‘NaN‘==NaN | false |
5==NaN | false |
false==0 | true |
true==1 | true |
true==2 | false |
undefined==0 | false |
null==0 | false |
‘100‘==100 | true |
‘100‘===100 | false |
NaN==NaN | false |